JavaScript 中的 "use strict" 是做什么的,为什么需要它?
大家好!我开始学习 JavaScript,注意到在一些代码示例中,文件或函数的开头会写 `'use strict';`。老实说,我不太明白这是为什么,以及它到底有什么作用。
我尝试写了一个没有这个指令的简单脚本,一切都能正常运行。例如,我无意中创建了一个没有 `let`、`const` 或 `var` 的变量:
```javascript
function test() {
myVar = 10; // 我忘了写 let
console.log(myVar);
}
test(); // 输出 10
```
但如果我加上 `'use strict';`:
```javascript
'use strict';
function test() {
myVar = 10; // 报错!
console.log(myVar);
}
test(); // ReferenceError: myVar is not defined
```
现在代码会报错。看起来没有 `'use strict'` 一切更简单,但我听说有经验的开发者强烈推荐使用它。问题在哪里?为什么明明能正常工作,还要给自己添麻烦?它还能修复 JavaScript 中的哪些“陷阱”?以及什么时候应该使用它——所有