Internet Explorer 不支持“const”关键字。我可以使用垫片来检查是否支持“const”,如果不支持,则将其重新定义为 var 吗?我想如果它能强制保持恒定性就好了,也许可以使用 object.Freeze,但我可以使用简单的 shim。
更新:我想要这个,这样我就可以使用现有的使用“const”的 Javascript 库,而无需修改它们。显然,查找/替换可以工作,但它很困惑而且不太易于维护。
最佳答案
你可以写一个服务器端的 shim,所以当 .js
文件被请求时,任何 const
都会被替换为 var
流式传输到浏览器。 (需要适当的断字/空格检测)
由于您在服务器上,因此您无法检测浏览器功能,并且必须依赖 User-Agent 字符串来仅针对 IE 执行此操作,或者让在客户端浏览器上运行的 javascript 告诉服务器它需要非常量代码。
我对真正由 Java servlet 支持的“userprefs.css”文件做了类似的事情,专门为每个用户构建和流式传输该文件。
关于将 "const"重新定义为 Internet Explorer 的 "var"的 Javascript 垫片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6587189/