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

时间:2017-02-16 09:07:12

标签: javascript ecmascript-6 cross-browser constants

请阅读(const) Behavior will vary across browser implementations。我指出的答案很古老(2012)所以,它还是那么糟糕吗?

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

如果'是' - 如何更换一个?

UPD:

刚查看了developer.mozilla.org上的说明。是的:看起来很糟糕......

enter image description here

2 个答案:

答案 0 :(得分:1)

旧版浏览器无法使用

var(我正在看你,IE,Safari)。

如果您想要安全玩耍,并且没有构建步骤(Babel,TypeScript等),请仅使用const。 Babel和TypeScript都会将您的letvar编译为const。因此,如果您使用其中任何一种工具,则可以自由使用letvar

请注意,let并非严格等同于constvar。 (const被悬挂,并且具有不同的范围)。

此外,如果您不关心IE或Safari,您可以在没有构建工具的情况下使用{{1}}。

答案 1 :(得分:0)

您只需使用var代替const即可支持旧浏览器。 (**请记住var在某种程度上不等同于const) 并且为了保护var不被更改,您可以将其放在私有范围内而不是全局范围内。 (所以它的工作部分就像const