Могут ли комментарии предшествовать `use strict;"?
Я видел несколько мест в интернете пассивно с указанием 'use strict;'
должен прийти на первый строка функциональной области, к которой вы хотите применить поведенческую директиву.
однако, по моему опыту, не имеет значения, есть ли комментарии перед ним.
/* some comment */
'use strict';
есть функциональное недостаток с наличием комментариев перед директивой, или это чисто вопрос стиля? Это определено где-нибудь в Спецификации ECMAScript?
Я спрашиваю не только для V8 (node.JS) среды, но и для браузеров.
4 ответов
Да, вы можете добавлять комментарии перед "use strict";
--Он просто должен предстать перед заявления.
см. этот пример из MDN
// Whole-script strict mode syntax
"use strict";
var v = "Hi! I'm a strict mode script!";
согласно стандартному разделу ECMAScript 262 5th edition 14.1:
. . . the начальный SourceElement productions программы или FunctionBody и где каждое ExpressionStatement в последовательности полностью состоит из маркера StringLiteral, за которым следует точка с запятой
выделено мной
и стандартный раздел ECMAScript 262 6th edition 14.1.1:
директива Пролог . . . the начальное StatementListItem или ModuleItem продукции FunctionBody, ScriptBody, или ModuleBody.
выделено мной
возможно проще говоря, раздел 7.4 из ECMAScript 5th ed. стандарт (раздел 11.4 из ECMAScript 6th ed. стандарт) заявляет:
комментарии ведут себя как пробел и отброшено
поскольку комментарии не являются утверждениями и в конечном итоге отбрасываются,use strict;
может прийти после них, как это первое эффективное заявление в теле.
согласно MDN, use strict;
должен быть первым сообщении в скрипте или функции. Комментарии не заявления.
да. Комментарии могут быть помещены перед объявлением" use strict". Движки JavaScript просто пропускают комментарии, поэтому для всех намерений и целей оператор "use strict" находится в верхней части функциональной области.