Какие особенности ECMAScript 6 подразумевают строгий режим?

В ECMAScript 5 (aka JavaScript) я могу запустить строгий режим, добавив "use strict" в начало моей функции (или файла, но это не рекомендуется).

Я понимаю, что в ECMAScript 6 некоторые синтаксические функции будут включать строгий режим, особенно class, и модули (как вы это делаете.)

В мире ECMAScript 6 каков полный список способов запуска строгого режима?

Ответ 1

В спецификации говорится:

  • Модуль кода всегда является строгим режимом режима.
  • Все части ClassDeclaration или ClassExpression являются строгим кодом режима.
  • ...

Остальные - это только известные вещи из ES5, в основном каждый глобальный /eval/function, который начинается с директивы "use strict";. Он также работает в новых классах ES6 (стрелка, генератор, синтаксис метода).