ECMAScript | Комментарии

Комментарии могут быть однострочными или многострочными. Многострочные комментарии не могут быть вложенными.

Поскольку однострочный комментарий может содержать любую кодовую точку Unicode, кроме кодовой точки LineTerminator, и из-за общего правила, согласно которому токен всегда является максимально длинным, однострочный комментарий всегда состоит из всех кодовых точек из маркера // до конца строки. Однако LineTerminator в конце строки не считается частью однострочного комментария; он распознается лексической грамматикой отдельно и становится частью потока входных элементов для синтаксической грамматики. Этот момент очень важен, поскольку подразумевает, что наличие или отсутствие однострочных комментариев не влияет на процесс автоматической вставки точки с запятой (смотри раздел 12.9).

Комментарии ведут себя как пробелы и отбрасываются, за исключением того, что если MultiLineComment содержит кодовую точку ограничителя строки, то весь комментарий считается LineTerminator для целей синтаксического анализа синтаксической грамматикой.

Синтаксис Комментария

Comment ::

MultiLineComment

SingleLineComment

MultiLineComment ::

/* MultiLineCommentChars opt */

MultiLineCommentChars ::

MultiLineNotAsteriskChar MultiLineCommentChars opt

* PostAsteriskCommentChars opt

PostAsteriskCommentChars ::

MultiLineNotForwardSlashOrAsteriskChar MultiLineCommentChars opt

* PostAsteriskCommentChars opt

MultiLineNotAsteriskChar ::

SourceCharacter но не *

MultiLineNotForwardSlashOrAsteriskChar ::

SourceCharacter но не один из / или *

SingleLineComment ::

// SingleLineCommentChars opt

SingleLineCommentChars ::

SingleLineCommentChar SingleLineCommentChars opt

SingleLineCommentChar ::

SourceCharacter но не LineTerminator

 

Некоторым производствам в этом разделе даются альтернативные определения в разделе B.1.1.

Информационные ссылки

ECMAScript | Язык ECMAScript: лексическая грамматика

Стандарт ECMAScript — Раздел «12.4 Comments» — https://tc39.es/ecma262/#sec-comments

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