javascript - 如何保护 Node.js 中的全局变量不被覆盖?

标签 javascript node.js overriding global

我想知道是否有任何方法可以确保 Node.js 程序中的某些变量不会被错误覆盖。

由于不可能像 Java 中那样将 var 设置为 final,因此我看不到任何方法来确保可以从任何地方(甚至是 EJS 等模板文件)覆盖的全局变量的稳定性。

非回归测试、代码审查、使用包等等都是检测或避免此类错误的一些方法,但我想知道是否可以在 Node 中使用更强大的方法。

最佳答案

您可以创建不可写或卡住的对象

var obj = {
    test : 'test'
}

Object.freeze(obj);

obj.test = 'something else';

console.log(obj.test); // still "test"

据我所知,没有办法锁定变量,只能锁定对象的属性

关于javascript - 如何保护 Node.js 中的全局变量不被覆盖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28064295/

相关文章:

javascript - 使用 bootstrap-multiselect 在多选框中添加选项

javascript - 使用 Express 从 Firebase 数据库获取数据

javascript - 如何在 intern.js 中使用 setFindTimeout

node.js - 如何从nodejs中的构造函数发出/捕获事件?

javascript - 在段落中显示 Angular 4 电子邮件验证文本

javascript - 在 Zepto 中使用 select2 插件

c++ - 虚拟继承 : Error: no unique final overrider

c# - 如何覆盖 ToString() 方法以输出列表?

c++ - 为什么 B 类中的 f2 被 D 类中的 f2 覆盖

javascript - 如何使用给定数量的流执行顺序异步ajax请求