Node.js需要使用'strict use'吗?或者说,Node.js的严格模式最佳实践是什么?

18

我是一个新手学习node.js和javascript。我查看了一些node.js的代码示例,发现它们使用了use strict模式。

例如,有一个server.js文件:

'use strict';
//some server code

另外,我了解到use strict出现在每个js文件的开头。这让我很困惑,所以我想知道在Node.js中使用严格模式的最佳实践是什么?


谢谢大家,我的问题集中在严格模式上。在此模式下,一些代码错误可能会被报告。在后端,严格错误报告器也在运行吗?如果我需要使用它,应该将其添加到每个js文件头中吗?还是添加到主文件(如server.js)的头部?或者使用一些Node.js自身的样式?


1
与浏览器JS没有区别,它只是启用了严格模式。 - zerkms
1
你在问什么?你是在询问在nodejs开发中是否应该使用严格模式吗?如果是的话,答案是YES,原因与浏览器Javascript开发中推荐使用严格模式相同。 - jfriend00
1
你可能想阅读这篇文章:https://dev59.com/ynM_5IYBdhLWcg3wiDuA - Felix Kling
3个回答

13

始终使用它。如果没有其他办法,它确保您的代码编写正确,并且尽可能兼容跨浏览器。它还将揭示平凡的语法错误,否则这些错误将被忽略,并导致数小时不必要的调试。


谢谢,您的意思是在每个JS文件中都使用它吗? - Edward
你应该将它放在js文件的第一行,或者放在函数的第一行。如果你正在连接js文件,并且每个文件都包含一个自执行函数,则通常会选择后者。 - Jeffrey A. Gochin
2
@JeffreyA.Gochin 当您在Node中时(如OP所述),跨浏览器参数会失效(因为Node没有窗口: P;看到我做了什么吗?) - Nicu Surdu
4
您的问题是关于Node.js的,那么您所说的“跨浏览器”是什么意思? - Daniel Darabos

6

1

Node.js是服务器端JavaScript,因此许多编程实践在两者中都很相似。因此使用严格模式非常普遍。

它确保您不违反某些编码约定,如未声明变量 x = 14;,使用特定变量名称 arguments,eval,这些是一些全局变量和函数的名称。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接