在JavaScript中有使用常量的方法吗?
如果不是,指定用作常量的变量的常见做法是什么?
在JavaScript中有使用常量的方法吗?
如果不是,指定用作常量的变量的常见做法是什么?
当前回答
如果值得一提的话,你可以使用$ provider .constant()在angular中定义常量
angularApp.constant('YOUR_CONSTANT', 'value');
其他回答
const关键字在ECMAScript 6草案中,但到目前为止它只获得了少量的浏览器支持:http://kangax.github.io/compat-table/es6/。语法为:
const CONSTANT_NAME = 0;
有一段时间,我在传递给with()语句的对象字面量中指定了“常量”(实际上仍然不是常量)。我觉得这很聪明。这里有一个例子:
with ({
MY_CONST : 'some really important value'
}) {
alert(MY_CONST);
}
在过去,我还创建了一个CONST名称空间,将所有常量放在其中。还有开销。天哪。
现在,我写var MY_CONST = 'whatever';吻。
如果你不介意使用函数:
var constant = function(val) {
return function() {
return val;
}
}
这种方法为您提供函数而不是常规变量,但它保证一旦设置了值,就没有人可以更改值。
a = constant(10);
a(); // 10
b = constant(20);
b(); // 20
我个人觉得这相当令人愉快,特别是在我已经习惯了这种模式之后。
*除非有人在你调用函数常量之前重新定义了它
不,不一般。Firefox实现了const,但我知道IE没有。
@John指出了const的一个常用命名实践,在其他语言中已经使用了很多年,我看不出为什么你不能使用它。当然,这并不意味着有人不会重写变量的值。:)
除了上面提到的,Rhino.js还实现了const。