哪个ECMAScript 6功能意味着严格的模式?

Sea*_*lan 24 javascript ecmascript-6

在ECMAScript 5(又名JavaScript)中,我可以通过"use strict"在函数顶部添加严格模式(或文件,但不鼓励这样做.)

据我所知,在ECMAScript 6中,某些语法功能会打开严格模式,尤其是class模块(不过你会这样做).

在ECMAScript 6世界中,触发严格模式的完整列表是什么?

Ber*_*rgi 27

规范说:

  • 模块代码始终是严格的模式代码.
  • ClassDeclarationClassExpression的所有部分都是严格模式代码.
  • ...

其余的只是ES5中的已知内容,基本上每个以"use strict";指令开头的全局/ eval/function代码.它也可以在新的ES6函数类型(箭头,生成器,方法语法)中工作.

  • @greim:是的,`export`和`import`声明都使它成为一个模块,它们会在其他地方出现语法错误.但是,无论javascript代码文件被解释为脚本还是模块,只有您的转换器/引擎决定,您无法通过查看代码来了解它. (4认同)
  • 我有点惊讶地发现发电机并非含蓄严格. (3认同)
  • 什么构成"模块代码"?在文件中的任何地方使用`export`,还是`import`? (3认同)