JavaScript. Подробное руководство, 6-е издание, стр. 14
2.1.3. Экранированные последовательности Юникода
Некоторые компьютеры и программное обеспечение не могут отображать или обеспечивать ввод полного набора символов Юникода. Для поддержки программистов, использующих подобную устаревшую технику, JavaScript определяет специальные последовательности, состоящие из шести символов ASCII, представляющие 16-битные кодовые пункты Юникода. Эти экранированные последовательности Юникода начинаются с символов \и, за которыми следуют точно четыре шестнадцатеричные цифры (при этом символы A-F могут быть и строчными, и прописными). Экранированные последовательности Юникода могут появляться в строковых литералах JavaScript, в литералах регулярных выражений и в идентификаторах (но не в ключевых словах языка). Экранированная последовательность Юникода для символа e, например, имеет вид \u00E9, и с точки зрения JavaScript следующие две строки являются идентичными:
<b>"cafe" === "caf\u00e9" // => true</b>Экранированные последовательности Юникода могут также появляться в комментариях, но поскольку комментарии игнорируются, в данном контексте они воспринимаются как последовательность символов ASCII и не интерпретируются как символы Юникода.
2.1.4. Нормализация
Юникод позволяет закодировать один и тот же символ несколькими способами. Строка «e», например, может быть закодирована как единственный символ Юникода \u00E9 или как обычный ASCII-символ е, со следующим за ним диакритическим знаком \u0301. Эти два способа представления обеспечивают одинаковое отображение в текстовом редакторе, но имеют различные двоичные коды и с точки зрения компьютера считаются различными. Стандарт Юникода определяет предпочтительные способы кодирования для всех символов и задает процедуру нормализации для приведения текста к канонической форме, пригодной для сравнения. Интерпретаторы JavaScript полагают, что интерпретируемый программный код уже был нормализован, и не предпринимают никаких попыток нормализовать идентификаторы, строки или регулярные выражения.
2.2. Комментарии
JavaScript поддерживает два способа оформления комментариев. Любой текст между символами // и концом строки рассматривается как комментарий и игнорируется JavaScript. Любой текст между символами /* и */ также рассматривается как комментарий. Эти комментарии могут состоять из нескольких строк, но не могут быть вложенными. Следующие строки представляют собой корректные JavaScript-комментарии:
<b>// Это однострочный комментарий.</b><b>/* Это тоже комментарий */ // а это другой комментарий.</b><b>/*</b><b>* Это еще один комментарий.</b><b>* Он располагается в нескольких строках.</b><b>*/</b>2.3. Литералы
Литерал - это значение, указанное непосредственно в тексте программы. Ниже приводятся примеры различных литералов:
<b>12 // Число двенадцать</b><b>1.2 // Число одна целая две десятых</b><b>"hello world" </b><b>// Строка текста</b><b>’Hi' // Другая строка</b><b>true // Логическое значение</b><b>false // Другое логическое значение</b><b>/javascript/gi // Литерал "регулярного выражения” (для поиска по шаблону) </b><b>null // Пустой объект</b>сложные выражения (смотрите раздел 4.2), которые могут служить литералами массивов и объектов:
<b>{ х:1. у:2 } // Инициализатор объекта </b><b>[1,2,3,4,5] // Инициализатор массива</b>2.4. Идентификаторы и зарезервированные слова
Идентификатор - это просто имя. В JavaScript идентификаторы выступают в качестве имен переменных и функций, а также меток некоторых циклов. Идентификаторы в JavaScript должны начинаться с буквы, с символа подчеркивания (_) или знака доллара ($). Далее могут следовать любые буквы, цифры, символы подчеркивания или знаки доллара. (Цифра не может быть первым символом, так как тогда интерпретатору трудно будет отличать идентификаторы от чисел.) Примеры допустимых идентификаторов:
<b>і</b><b>my_variable_name</b><b>v13</b><b>_dummy</b><b>$str</b>Для совместимости и простоты редактирования для составления идентификаторов обычно используются только символы ASCII и цифры. Однако JavaScript допускает возможность использования в идентификаторах букв и цифр из полного набора символов Юникода. (Технически стандарт ECMAScript также допускает наличие в идентификаторах символов Юникода из категорий Мп, Мс и Рс при условии, что они не являются первыми символами идентификаторов.) Это позволяет программистам давать переменным имена на своих родных языках и использовать в них математические символы:
<b>var si = true; var pi=3.14;</b>Подобно другим языкам программирования, JavaScript резервирует некоторые идентификаторы. Эти «зарезервированные слова» не могут использоваться в качестве обычных идентификаторов. Они перечислены ниже.
2.4.1. Зарезервированные слова
JavaScript резервирует ряд идентификаторов, которые играют роль ключевых слов самого языка. Эти ключевые слова не могут служить идентификаторами в программах:
| break | delete | function | return | typeof |
| case | do | if | switch | var |
| catch | else | in | this | void |
| continue | false | instanceof | throw | while |
| debugger | finally | new | true | with |
| default | for | null | try |