📜  通过在脚本中添加 use strict 来开启现代 JS - Javascript (1)

📅  最后修改于: 2023-12-03 15:42:01.581000             🧑  作者: Mango

通过在脚本中添加 use strict 来开启现代 JS - Javascript

如果您是一个JavaScript开发人员,您可能已经听说了“使用严格模式”这个概念。那么,这个严格模式是什么,对于脚本中添加 use strict 有什么好处?接下来将为您详细介绍。

什么是严格模式?

在1995年发布的第一版ECMAScript规范中,JavaScript的设计者没有考虑到需要一些额外的规定来保证代码的安全和合理性,这导致了一些潜在的问题和错误的行为。于是,在2011年发布的ECMAScript第五版中,引入了“严格模式”,它是一种可选模式,开启后会在JavaScript代码中启用一些附加的语法和行为规范。在严格模式中,您必须在代码的开头添加 use strict,以启用严格模式。

添加 use strict 的好处

在标准模式下,JavaScript引擎会忽略一些不规范的写法并进行隐式转换,这样可能导致一些不易发现的bug。在严格模式下,JavaScript更加严格地执行您的代码,并且会抛出更多的异常来提醒您可能存在的问题。严格模式也会限制您使用全局变量,防止您意外地重写全局变量的值。

例如,考虑如下代码:

function sum(a, b){
  x = a + b;
  return x;
}
console.log(sum(2,3));

在标准模式下,x将自动成为一个全局变量,并且此处代码将返回5. 但在严格模式下,会抛出一个错误,因为我们没有显式地声明变量x。

另一个例子是,如果您尝试删除一个不可删除的属性,严格模式将抛出一个TypeError异常。

在严格模式下,您还不能使用与未定义的变量进行比较或赋值, 并且在函数调用时需要指定唯一的this对象。

启用严格模式

启用严格模式很简单,在您的脚本的开头添加 use strict 声明即可。例如:

'use strict';

function sum(a, b){
  var x = a + b;
  return x;
}

console.log(sum(2,3));

此处的代码已更正,从自动全局变量x变成了显式声明的局部变量。

小结

添加 use strict 声明是一种启用JavaScript严格模式的简单方法,它会使您的代码更加严格地执行,并抛出一些可能会导致错误或问题的问题。通过启用严格模式,您可以更有效地保护自己的代码,并提高JavaScript应用程序的安全性和品质。

参考文献:MDN