ECMAScript | Символы управления форматом Unicode

Управляющие символы формата 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

Поделись записью