역슬래시 문자(\)는 자바스크립트 문자열에서 특별한 목적을 위해 사용된다. 역슬래시 문자는 뒤따라 나오는 문자와 결합될 경우 다른 방식으로는 표현할 수 없는 문자를 표현한다. 예를 들어, \n은 줄바꿈 문자를 나타내는 이스케이프 시퀀스이다.[각주:1]
또 다른 예로는 이전 절에서 언급된 바 있는 \' 이스케이프 시퀀스가 있으며 이 이스케이프 시퀀스는 작은따옴표(혹은 영어 축약형) 문자를 나타낸다. 이 이스케이프 시퀀스는 작은따옴표로 둘러싸인 문자열 리터럴 내에 작은따옴표 문자를 포함시켜야 할 때 유용하게 사용할 수 있다. 여러분은 이제 왜 이러한 것들을 이스케이프 시퀀스라 부르는지 알 수 있을 것이다. 즉, 역슬래시는 작은따옴표 문자를 일반적인 해석 방식에서 벗어나 특수한 방식으로 해석하게 만든다.[각주:2] 다음과 같이 역슬래시를 사용하면 작은따옴표가 문자열의 끝을 나타내는 것이 아니라 영어 축약형 문자를 나타내게 만들 수 있다.

'You\'re right, it can\'t be a quote'


표 3-2는 자바스크립트 이스케이프 시퀀스들과 각 이스케이프 시퀀스가 나타내는 문자를 보여준다. 이 중 \x와 \u로 시작하는 두 이스케이프 시퀀스는, 16진수로 지정한 Latin-1 문자 코드나 Unicode 문자 코드를 어떠한 문자로도 표현할 수 있는 범용적인 이스케이프 시퀀스다. 예를 들어, 시퀀스 \xA9는 Latin-1 인코딩으로 표현할 때 16진수 A9로 표현되는 저작권 기호를 나타낸다. 비슷하게, \u 이스케이프 시퀀스는 네 개의 16진수 숫자로 표현되는 Unicode 문자를 나타낸다. 예를들어, \u03c0은 문자 파이(π)를 나타낸다. ECMAScript v1 표준에서는 Unicode 이스케이프 시퀀스 지원을 필수로 규정하고 있지만 자바스크립트 1.3 이전 구현에서는 잘 지원되지 않음을 유의하라. 몇몇 자바스크립트 구현에서는 역슬래시 뒤에 세 개의 8진수 값을 지정하여 Latin-1 문자를 표현하는 방법을 제공하지만, ECMAScript v3 표준은 이 이스케이프 시퀀스를 지원하지 않으므로 이 시퀀스는 더 이상 사용하지 말아야 한다.
마지막으로, 역슬래시 이스케이프 시퀀스는 두 줄로 된 문자열이나 기타 자바스크립트 토큰을 한 줄로 잇기 위해 줄이 나누어지는 부분 바로 앞에서 사용한다거나, 문자열 내에 줄나눔 문자 그 자체를 포함시키기 위해 사용할 수 없다는 것을 유의하라. 만약 \ 문자가 표 3-2에 나온 문자들 이외의 문자 앞에 사용될 경우 역슬래시는 그냥 무시된다(물론 자바스크립트 추후 버전에서 새로운 이스케이프 시퀀스를 정의할 수도 있다). 예를 들면, \#는 #와 같다.

표3-2
자바스크립트 이스케이프 시퀀스들


시퀀스              표현하는 문자


\0                       널 문자(\u0000).
\b                       백스페이스(\u0008).
\t                        수평 탭(\u0009).
\n                       줄바꿈 문자(\u000A).
\v                       수직 탭(\u000B).
\f                        폼 피드(\u000C).
\r                        캐리지 리턴(\u000D).
\"                        큰따옴표(\u0022).
\'                        작은따옴표(\u0027).
\\                      역슬래시(\u005C).
\xXX                   두 개의 16진수 숫자 XX에 의해 지정되는 Latin-1 문자
\uXXXX               네 개의 16진수 숫자 XXXX에 의해 지정되는 Unicode 문자.
\XXX                   1과 377 사이의 8진수 숫자 XXX에 의해 지정되는 Latin-1 문자.
                            ECMAScript v3에서 지원하지 않는다. 이 이스케이프 시퀀스는 사용하지 말라.



  1. C나,C++,자바 프로그래머들은 이미 이 시퀀스나 다른 자바스크립트 이스케이프 시퀀스에 익숙할 것이다. [본문으로]

  2. (역자 주) 이스케이프(escape)는 '탈출' 또는 '벗어남' 이라는 의미이다. [본문으로]