JavaScript 문자열

JavaScript 문자열은 텍스트를 저장하고 처리하는 데 사용됩니다.

JavaScript 문자열

JavaScript 문자열은 따옴표 안에 있는 0개 또는 여러 개의 문자입니다.

예제

var x = "Bill Gates";

직접 시험해보세요

단서나 양따옴표를 사용할 수 있습니다:

예제

var carname = "Porsche 911";
var carname = 'Porsche 911';

직접 시험해보세요

문자열에서 따옴표를 사용할 수 있지만, 문자열을 둘러싼 따옴표와 일치하지 않아야 합니다:

예제

var answer = \"It's good to see you again!\";
var answer = \"He is called 'Bill'\";
var answer = 'He is called \"Bill\"';

직접 시험해보세요

문자열 길이

내장 속성 length 문자열의길이

예제

var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var sln = txt.length;

직접 시험해보세요

특수 문자

문자열이 따옴표로 감싸져 있어야 하므로 JavaScript는 이 문자열을 오해합니다:

var y = "중국은瓷器의故乡이며, 따라서 china는"China(중국)"와同名";"

이 문자열은 "중국은瓷器의故乡이며, 따라서 china는"로 나누어집니다.

이 문제를 피하는 방법은 다음과 같습니다. \ 반크림 캐릭터

특수 문자를 문자열 문자로 변환하는 반크림 캐릭터:

코드 결과 설명
\' ' 단서
\" " 양쪽 빈칸
\\ \ 반대축

예제

시퀀스 \" 문자열에 양쪽 빈칸을 삽입하려면:

예제

var x = "중국은 지옥의 본향이며, 따라서 china와\"China(중국)\"는同名입니다."

직접 시험해보세요

시퀀스 \' 문자열에 단락을 삽입하려면:

예제

var x = 'It\'s good to see you again';

직접 시험해보세요

시퀀스 \\ 문자열에 반대축을 삽입하려면:

예제

var x = "字符 \\이 반대축으로 불립니다.";

직접 시험해보세요

escape 문자(\)는 문자열에 다른 특수 문자를 삽입하는 데도 사용될 수 있습니다.

JavaScript에서 유효한 다른 여섯 가지 escape 시퀀스:

코드 결과
\b 백스페이스 키
\f 페이지
\n 새 행
\r 엔터
\t 세로 줄바꿈
\v 가로 줄바꿈

이 여섯 가지 escape 문자는 원래 타이핑 기계, 텔레타이프, 팩스 기계를 제어하기 위해 설계되었습니다. HTML에서는 어떤 의미도 없습니다.

긴 코드 행 줄바꿈

최상의 가독성을 위해, 프로그래머들은 일반적으로 한 행에 80개 이상의 문자열을 피합니다.

JavaScript 문장이 한 행에 맞지 않을 때, 최선의 줄바꿈 위치는 특정 연산자 이후입니다:

예제

document.getElementById("demo").innerHTML =
"Hello Kitty.";

직접 시험해보세요

그렇다면문자열에서줄바꿈을 위해 반대축을 사용할 수 있습니다:

예제

document.getElementById("demo").innerHTML = "Hello \
Kitty!";

직접 시험해보세요

\ 이 메서드는 ECMAScript (JavaScript) 표준이 아닙니다.

일부 브라우저도 허용하지 않습니다 \ 문자 이후의 공백.

긴 문자열을 줄바꿈하는 가장 안전한 방법은 (하지만 조금 느릅니다) 문자열 덧셈을 사용하는 것입니다:

예제

document.getElementById("demo").innerHTML = "Hello" + 
"Kitty!";

직접 시험해보세요

코드 행을 반대축으로 줄바꿈할 수 없습니다:

예제

document.getElementById("demo").innerHTML = \ 
"Hello Kitty!";

직접 시험해보세요

문자열은 객체일 수 있습니다

일반적으로 JavaScript 문자열은 원시 값으로, 문법으로 생성됩니다:

var firstName = "Bill"

하지만 문자열도 키워드를 통해 new 객체로 정의됩니다:

var firstName = new String("Bill")

예제

var x = "Bill";
var y = new String("Bill");
// typeof x가 반환할 것은 string입니다
// typeof y가 반환할 것은 object입니다

직접 시험해보세요

문자열을 객체로 생성하지 마세요. 그것은 실행 속도를 느리게 할 수 있습니다.

new 키워드는 코드를 복잡하게 만들 수 있습니다. 예상치 못한 결과도 발생할 수 있습니다:

사용할 때 == 일치 연산자를 사용할 때, 일치하는 문자열은 일치합니다:

예제

var x = "Bill";             
var y = new String("Bill");
// (x == y)는 true입니다. 왜냐하면 x와 y의 값이 일치하기 때문입니다

직접 시험해보세요

사용할 때 === 연산자를 사용할 때, 일치하는 문자열은 불일치합니다. 왜냐하면 === 연산자는 타입과 값이 모두 일치해야 합니다.

예제

var x = "Bill";             
var y = new String("Bill");
// (x === y)는 false입니다. 왜냐하면 x와 y의 타입이 다릅니다. (문자열과 객체)

직접 시험해보세요

그리고 더 나아가.

예제

var x = new String("Bill");             
var y = new String("Bill");
// (x == y)는 false입니다. 왜냐하면 x와 y는 다른 객체이기 때문입니다

직접 시험해보세요

예제

var x = new String("Bill");             
var y = new String("Bill");
// (x === y)는 false입니다. 왜냐하면 x와 y는 다른 객체이기 때문입니다

직접 시험해보세요

주의하세요 (x==y)와 (x===y)의 차이점.

JavaScript 객체는 비교할 수 없으며, 두 JavaScript를 비교할 때는 항상 false