当前位置:  开发笔记 > 编程语言 > 正文

你能在JavaScript中使用常量变量吗?

如何解决《你能在JavaScript中使用常量变量吗?》经验,为你挑选了3个好方法。

我在一个网站上读到你可以在JavaScript中创建常量变量,如:

const x = 20;

但在另一个网站上我读到你不能.所以我现在很困惑现在是什么?

同样在Visual Studio 2010中,当我编写const它时,它会在JavaScript文件中加下划线并显示语法错误.



1> Jörg W Mitta..:

const是ECMAScript Harmony的一个提议特性(与正确的块作用域一起,let它应该替换var和隐式全局变量).ECMAScript Harmony是下一版ECMAScript的一大堆想法.

const 也是ECMAScript 4的一部分.

ECMAScript 4从未发布过,也永远不会发布,ECMAScript Harmony将在几年内发布.因此,您无法可靠地使用它.

有一些实现ECMAScript的实现或衍生物const(例如,ActionScript).还有一些实现接受const作为var(IOW,你可以使用const,但它不会给你任何保护的同义词的同义词.)

但是,除非您绝对可以保证您的代码只能在ECMAScript非常具体的衍生产品的特定版本上运行,否则最好避免使用它.(这是一个真正的耻辱,因为const尤其let是对全局变量的巨大改进var.)


[`const`不适用于常量](https://mathiasbynens.be/notes/es6-const)(如"常量值").它用于常量*绑定*.

2> lincolnk..:

如果你正在寻找一个只读变量,你可以用类似的东西模拟它

var constants = new (function() {
    var x = 20;
    this.getX = function() { return x; };
})();

然后像使用它一样

constants.getX()



3> 小智..:

解决方案是创建一个对象并将所有常量放在对象中:

const={};

const.x=20;

const.y=30;

Object.freeze(const);  // finally freeze the object

用法:

var z=const.x + const.y;

任何修改变量的尝试都会产生错误:

const.x=100;  <== raises error

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有