Javascript:处理常量和跨浏览器兼容性

Javascript: dealing with constants and cross-browser compatibility

刚读完 (const) Behavior will vary across browser implementations。我指出的答案已经很老了(2012 年)所以,它还是那么糟糕吗?

因为我的项目需要跨浏览器兼容性,所以我应该避免使用 const 关键字吗?

如果 'yes' - 我该如何更换一个?

UPD:

刚刚检查了 developer.mozilla.org 上的描述。是的:看起来很糟糕......

const 在旧浏览器中不可用(我在看你,IE,Safari)。

如果您想安全起见,并且没有构建步骤(Babel、TypeScript 等),请仅使用 var。 Babel 和 TypeScript 都会将你的 consts 和 lets 编译成 vars。因此,如果您使用这些工具中的任何一个,您可以自由使用 constlet

请注意 var 并不严格等同于 letconst。 (var 被提升,并且具有不同的范围)。

此外,如果您不关心 IE 或 Safari,您几乎可以在没有构建工具的情况下使用 const

您可以简单地使用 var instead of const 来支持旧浏览器。 (** 请记住 var 在某种程度上不等同于 const) 为了保护 var 不被更改,您可以将它放在私有范围内而不是全局范围内。 (所以它会部分像 const 一样工作)