3.2.2. Управляющие последовательности в строковых литералах

Символ обратного слэша () имеет специальное назначение в JavaScript-строках. Вместе с символами, следующими за ним, он обозначает символ, не представимый внутри строки другими способами. Например, - это управляющая последовательность (escape sequence), обозначающая символ перевода строки.

Другой пример, упомянутый выше, - это последовательность ', обозначающая символ одинарной кавычки. Эта управляющая последовательность необходима для включения символа одинарной кавычки в строковый литерал, заключенный в одинарные кавычки. Теперь становится понятно, почему мы называем эти последовательности управляющими - здесь символ обратного слэша позволяет управлять интерпретацией символа одинарной кавычки. Вместо того чтобы отмечать ею конец строки, мы используем ее как апостроф:

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

В табл. 3.1 перечислены управляющие последовательности JavaScript и обозначаемые ими символы. Две управляющие последовательности являются обобщенными; они могут применяться для представления любого символа путем указания кода символа из набора Latin-І или Unicode в виде шестнадцатеричного числа. Например, последовательность хА9 обозначает символ копирайта, который в кодировке Latin-І имеет шестнадцатеричный код А9. Аналогично управляющая последовательность, начинающаяся с символов и, обозначает произвольный символ Юникода, заданный четырьмя шестнадцатеричными цифрами. Например, u03c0 обозначает символ л.

Если символ «» предшествует любому символу, отличному от приведенных в табл. 3.1, обратный слэш просто игнорируется (хотя будущие версии могут, конечно, определять новые управляющие последовательности). Например, # - это то же самое, что и #. Наконец, как отмечалось выше, стандарт ECMAScript 5 позволяет добавлять в многострочные строковые литералы символ обратного слэша перед разрывом строки.

Таблица 3.1. Управляющие последовательности JavaScript Последовательность Представляемый символ о Символ NUL (u0000) Ь «Забой» (u0008) Горизонтальная табуляция (u0009) Перевод строки (u000А) v Вертикальная табуляция (u000В) f Перевод страницы (u000С) Возврат каретки (u000D) " Двойная кавычка (u0022) ' Одинарная кавычка (u0027) Обратный слэш (u005C) хХХ Символ Latin-1, заданный двумя шестнадцатеричными цифрами XX uxXXXX Символ Unicode, заданный четырьмя шестнадцатеричными цифрами хххх