你可以在 JavaScript 中使用常量变量吗?

2022-01-23 00:00:00 constants javascript

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

I read on one site that you can make constant variables in JavaScript like:

const x = 20;

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

but on another site I read that you can't. So I am confused now what is it now?

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

Also in Visual Studio 2010 when I write const it underlines it in the JavaScript file and shows syntax error.

推荐答案

const 是 ECMAScript Harmony 的一项提议功能(与正确的块范围 let 一起,它应该替换 var 和隐式全局变量).ECMAScript Harmony 是 ECMAScript 下一版本的灵感来源.

const is a proposed feature of ECMAScript Harmony (together with a properly block-scoped let it is supposed to replace var and implicit globals). ECMAScript Harmony is a grab-bag of ideas for the next versions of ECMAScript.

const 也是 ECMAScript 4 的一部分.

const was also a part of ECMAScript 4.

ECMAScript 4 从未发布过,也永远不会发布,ECMAScript Harmony 只会在几年后发布.因此,您不能可靠地使用它.

ECMAScript 4 was never released and never will be, and ECMAScript Harmony will only be released in a couple of years. Therefore, you cannot reliably use it.

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

There are some implementations or derivatives of ECMAScript that implement const (ActionScript, for example). There are also some implementations that accept const as a synonym for var (IOW, you can use const, but it won't give you any protection.)

但是,除非您绝对可以保证您的代码只能在非常特定的 ECMAScript 衍生版本的非常特定的实现的非常特定的版本上运行,否则最好避免使用它.(这真是太可惜了,因为 const 尤其是 let 是对 var 和隐式全局变量的巨大 改进.)

However, unless you absolutely can guarantee that your code will only run on very specific versions of very specific implementations of very specific derivatives of ECMAScript, it's probably better to avoid it. (Which is a real shame, because const and especially let are a huge improvement over var and implicit globals.)

相关文章