- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在从事的一个项目将 IE8 作为硬性要求。我们希望潜在地使用 Traceur 来开始使用 ES6 的一些改进语法,但我知道 it produces ES5 ,即 not supported by IE8 .鉴于我可以用 es5shim 修补 IE8 ,这Traceur-supported ES6 features使用安全吗?
更具体地说,我想知道哪些功能映射总是直接映射到完全兼容的代码(大概是大部分糖分),哪些功能由于 shim 的限制而在行为上存在不匹配,以及哪些功能完全不可用
最佳答案
总结:如果你需要 IE8 支持,请不要使用 Traceur
不可能在 IE8 中获得对 Traceur 编译代码的完全支持,因为它有 very poor ES5 compatibility ,这cannot be patched completely even with known polyfills like es5shim .
不过,您可能会得到一些 Traceur 编译的代码以在 IE 8 中运行,但据我所知,这是一个相当未开发的空间。我所知道的对此类尝试的唯一引用之一是 traceur 的 github 存储库中关于 "old IE support" 的未解决问题.
从工程的 Angular 来看,我认为在生产中使用 Traceur+ES5 shim 组合是一个非常糟糕的主意。您不仅需要处理从 ES6->ES5 引发的潜在问题,还需要解决由于有缺陷的 ES5 polyfill 而导致的错误,这两种问题都很可能发生。
将 Traceur 与各种 polyfill 和补丁结合使用也会导致 JavaScript 代码非常臃肿。举个例子,让我们考虑简单的 ES6 生成器和 ES5 Array.prototype.each
的用法:
function* items() {yield new Array(1, 2, 3);}
for (item of items()) {
item.every(function(elem, index, arr) {
console.log(item);
});
}
如果我们想在 IE8 中运行它,我们首先需要使用 Traceur 将其编译为 ES5,然后为 Array.prototype.each 应用一个 polyfill。 The resulting IE8-compliant code in this case is roughly around 50 lines of code .
关于javascript - Traceur 在多大程度上编译为 IE8 兼容的 Javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24045373/
我目前正在研究数据库,我看到 degree 和 cardinality 用作相同的术语,或在某些其他学位定义为否。关系中涉及的实体的数量,并进一步分类为一元、二元和三元。 某些放置度数定义为关系类型的
我是一名优秀的程序员,十分优秀!