Книга: JavaScript. Подробное руководство, 6-е издание

2.1.2. Пробелы, переводы строк и символы управления форматом

2.1.2. Пробелы, переводы строк и символы управления форматом

JavaScript игнорирует пробелы, которые могут присутствовать между лексемами в программе. Кроме того, JavaScript также по большей части игнорирует символы перевода строки (за одним исключением, о котором рассказывается в разделе 2.5). Поэтому пробелы и символы перевода строки могут без ограничений использоваться в исходных текстах программ для форматирования и придания им удобочитаемого внешнего вида.

Помимо обычного символа пробела (u0020) JavaScript дополнительно распознает как пробельные следующие символы: табуляция (u0009), вертикальная табуляция (u000В), перевод формата (u000C), неразрывный пробел (u00А0), маркер порядка следования байтов (uFEFF), а также все символы Юникода, относящиеся к категории Zs. Следующие символы распознаются интерпретаторами JavaScript как символы конца строки: перевод строки (u000А), возврат каретки (u000D), разделитель строк (u2028) и разделитель абзацев (u2029). Последовательность из символов возврата каретки и перевода строки интерпретируется как единственный символ завершения строки.

Символы Юникода, управляющие форматом (категория Cf), такие как RIGHT-TO-LEFT MARK (u200F) и LEFT-TO-RIGHT MARK (u200E), управляют визуальным представлением текста, в котором они присутствуют. Они имеют большое значение для корректного отображения текста на некоторых языках и являются допустимыми в комментариях JavaScript, строковых литералах и в литералах регулярных выражений, но не в идентификаторах (таких как имена переменных), определяемых в программах JavaScript. Исключение составляют ZERO WIDTH JOINER (u200D) и ZERO WIDTH NON-JOINER (u200C), которые можно использовать в идентификаторах при условии, что они не являются первыми символами идентификаторов. Как отмечалось выше, символ управления порядком следования байтов (uFEFF) интерпретируется как пробельный символ.

Оглавление книги


Генерация: 0.542. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз