"use strict" 在 ES6 中仍然以同样的方式工作吗?
Does "use strict" still work the same way in ES6?
我读到一个答案,"use strict" 有助于限制对全局变量的访问并抛出不必要的异常。但我恰好在想,"use strict" 是否在 ES6 中仍然流行?或者今天是否有替代(更好)的方法来实现其功能?
在大多数情况下,它的工作原理是一样的,即使您使用的是 ES6 功能,代码顶部仍然需要 "use strict" 字符串才能进入严格模式。例如,如果代码将由浏览器执行,浏览器将不会在严格模式下评估代码,除非您在代码顶部使用该字符串。
唯一的两个例外是自动使用严格模式的 ES6 模块和 ES6 classes,其中 class 主体中的任何代码都在严格模式下执行。
您可以在此处找到更多详细信息 the MDN docs about Strict Mode and the docs about Classes
我读到一个答案,"use strict" 有助于限制对全局变量的访问并抛出不必要的异常。但我恰好在想,"use strict" 是否在 ES6 中仍然流行?或者今天是否有替代(更好)的方法来实现其功能?
在大多数情况下,它的工作原理是一样的,即使您使用的是 ES6 功能,代码顶部仍然需要 "use strict" 字符串才能进入严格模式。例如,如果代码将由浏览器执行,浏览器将不会在严格模式下评估代码,除非您在代码顶部使用该字符串。
唯一的两个例外是自动使用严格模式的 ES6 模块和 ES6 classes,其中 class 主体中的任何代码都在严格模式下执行。
您可以在此处找到更多详细信息 the MDN docs about Strict Mode and the docs about Classes