JavaScript中有常量吗?

有没有办法在JavaScript中使用常量?

如果没有,指定用作常量的变量的常用做法是什么?


自ES2015以来,JavaScript有一个const的概念:

const MY_CONSTANT = "some-value";

这将适用于除IE 8,9和10以外的几乎所有浏览器。有些可能还需要启用严格模式。

如果您需要支持旧浏览器或正在使用旧代码,则可以使用var与ALL_CAPS等约定来显示某些值不应该被修改:

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()方法。

如果你不需要严格保护变量值,那么就按照建议操作,并使用ALL CAPS的约定。


const关键字在ECMAScript 6草案中,但它迄今仅享有少量的浏览器支持:http://kangax.github.io/compat-table/es6/。 语法是:

const CONSTANT_NAME = 0;
链接地址: http://www.djcxy.com/p/35137.html

上一篇: Are there constants in JavaScript?

下一篇: c concatenate NSString