Я нашел этот пост Что такое "use strict" делать в JavaScript и каковы причины этого?
И я понимаю, что я должен use strict
всегда.
Но мне интересно, если это правда, всегда лучше использовать "строгий режим", тогда он даже не будет существовать, потому что это будет поведение по умолчанию.
Итак, я искал определение ECMAScript 6th edition и обнаружил, что он по умолчанию используется во многих случаях.
Соответственно официальная документация о строгом режиме
Синтаксический блок ECMAScript Script может обрабатываться с использованием неограниченный или строгий режим синтаксиса и семантики. Код интерпретируется как строгий код режима в следующих ситуациях:
G lobal code - это строгий режимный код, если он начинается с директивы Prologue который содержит ссылку на использование Strict (см. 14.1.1).
M - это всегда строгий режимный код.
A Несколько частей ClassDeclaration или ClassExpression являются строгим кодом режима.
E Код val - это строгий режимный код, если он начинается с директивного пролога, содержащего директиву Use Strict, или если вызов eval является прямой оценкой (см. 12.3.4.1), которая содержится в строгий режим.
F unction code - это строгий режимный код, если связанное с ним FunctionDeclaration, FunctionExpression, GeneratorDeclaration, GeneratorExpression, MethodDefinition или ArrowFunction содержится в коде строгого режима или если код, который генерирует значение функций [ [ECMAScriptCode]] внутренний слот начинается с директивного пролога, содержащего директиву Use Strict.
F код деблокирования, который поставляется в качестве аргументов встроенным конструкторам Function и Generator, является строгим кодом режима, если последним аргументом является String, который при обработке является FunctionBody, который начинается с Директивы Пролог, содержащий строку "Использовать строгую директиву".
Код ECMAScript, который не является строгим кодом режима, называется нестрогимкод.
Итак, когда хороший выбор использовать нестрогий код?
Спасибо заранее.