JavaScript 中有常量吗?
2022-08-29 22:06:05
有没有办法在JavaScript中使用常量?
如果不是,指定用作常量的变量的常见做法是什么?
有没有办法在JavaScript中使用常量?
如果不是,指定用作常量的变量的常见做法是什么?
自ES2015以来,JavaScript有一个const
的概念:
const MY_CONSTANT = "some-value";
这几乎适用于所有浏览器,除了IE 8,9和10。有些可能还需要启用严格模式。
您可以与ALL_CAPS等约定一起使用,以表明如果您需要支持较旧的浏览器或使用旧代码,则不应修改某些值:var
var MY_CONSTANT = "some-value";
是否正在尝试保护变量不被修改?如果是这样,那么您可以使用模块模式:
var CONFIG = (function() {
var private = {
'MY_CONST': '1',
'ANOTHER_CONST': '2'
};
return {
get: function(name) { return private[name]; }
};
})();
alert('MY_CONST: ' + CONFIG.get('MY_CONST')); // 1
CONFIG.MY_CONST = '2';
alert('MY_CONST: ' + CONFIG.get('MY_CONST')); // 1
CONFIG.private.MY_CONST = '2'; // error
alert('MY_CONST: ' + CONFIG.get('MY_CONST')); // 1
使用此方法,无法修改值。但是,您必须在 CONFIG :(上使用 get() 方法。
如果您不需要严格保护变量值,则只需按照建议执行操作并使用全部大写的约定即可。