ES6 的 class 和 模块内都是默认的严格模式 其实,js 开发也会逐步走向严格模式,这应该是个趋势
- 在严格模式下,变量必须显示声明(var/let/const)
- 在严格模式下,this默认是undefined 而不是window
- 在严格模式下,为只读变量和不可扩展对象赋值会报错
- 在严格模式下,在严格模式下,不可以用with()
- 在严格模式下,不可以用8进制
- 在严格模式下,函数的形参不可以同名
- 在严格模式下,不可以使用caller和arguments的属性,会报错, arguments和eval是关键字,不能被修改
- 在严格模式下,在严格模式下,不可以在eval参数中定义变量和函数