Управляющие символы формата Unicode (т. е. символы в категории «Cf» в базе данных символов Unicode, такие как LEFT-TO-RIGHT MARK или RIGHT-TO-LEFT MARK) представляют собой управляющие коды, используемые для управления форматированием диапазона текста при отсутствии для этого протоколов более высокого уровня (например, языков разметки).
Полезно разрешить использование символов управления форматом в исходном тексте для облегчения редактирования и отображения. Все символы управления форматом могут использоваться в комментариях, а также в строковых литералах, шаблонных литералах и литералах регулярных выражений.
U+200C (ZERO WIDTH NON-JOINER) и U+200D (ZERO WIDTH JOINER) - это символы управления форматом, которые используются для обозначения необходимых различий при формировании слов или фраз на определенных языках. В исходном тексте ECMAScript эти кодовые точки могут также использоваться в IdentifierName после первого символа.
U+FEFF (ZERO WIDTH NO-BREAK SPACE) - это символ управления форматом, используемый в основном в начале текста, чтобы пометить его как Unicode и разрешить определение кодировки текста и порядка байтов. Символы <ZWNBSP>, предназначенные для этой цели, могут иногда появляться после начала текста, например, в результате объединения файлов. В исходном тексте ECMAScript кодовые точки <ZWNBSP> обрабатываются как символы пробела (смотри раздел 12.2).
Специальная обработка определенных символов управления форматом за пределами комментариев, строковых литералов и литералов регулярных выражений обобщена в Таблице 37.
Code Point (Кодовая точка) | Name (Имя) | Abbreviation (Сокращённое название) | Usage (Использование) |
---|---|---|---|
U+200C | ZERO WIDTH NON-JOINER | <ZWNJ> | IdentifierPart |
U+200D | ZERO WIDTH JOINER | <ZWJ> | IdentifierPart |
U+FEFF | ZERO WIDTH NO-BREAK SPACE | <ZWNBSP> | WhiteSpace |
Таблица 37: Использование кодовой точки управления форматом
Информационные ссылки
ECMAScript | Язык ECMAScript: лексическая грамматика
Стандарт ECMAScript - Раздел "12.1 Unicode Format-Control Characters" - https://tc39.es/ecma262/#sec-unicode-format-control-characters