Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Traceur编译到与IE8兼容的Javascript的程度如何?_Javascript_Internet Explorer 8_Cross Browser_Traceur - Fatal编程技术网

Traceur编译到与IE8兼容的Javascript的程度如何?

Traceur编译到与IE8兼容的Javascript的程度如何?,javascript,internet-explorer-8,cross-browser,traceur,Javascript,Internet Explorer 8,Cross Browser,Traceur,我正在从事的一个项目将IE8作为一项硬要求。我们可能希望使用Traceur开始使用ES6的一些改进语法,但我知道,这是事实。鉴于我可以修补IE8,哪些是安全使用的 更具体地说,我想知道哪些特性总是直接映射到完全兼容的代码(大概大部分是糖类),哪些特性由于垫片的限制而在行为上存在不匹配,哪些特性完全不可用摘要:如果需要IE8支持,请不要使用Traceur 在IE8中不可能获得对Traceur编译代码的完全支持,因为它已经做到了 不过,你可能会得到一些Traceur编译的代码在IE8中工作,但据我所

我正在从事的一个项目将IE8作为一项硬要求。我们可能希望使用Traceur开始使用ES6的一些改进语法,但我知道,这是事实。鉴于我可以修补IE8,哪些是安全使用的


更具体地说,我想知道哪些特性总是直接映射到完全兼容的代码(大概大部分是糖类),哪些特性由于垫片的限制而在行为上存在不匹配,哪些特性完全不可用摘要:如果需要IE8支持,请不要使用Traceur

在IE8中不可能获得对Traceur编译代码的完全支持,因为它已经做到了

不过,你可能会得到一些Traceur编译的代码在IE8中工作,但据我所知,这是一个相当未经探索的领域。据我所知,关于此类尝试的唯一参考资料是traceur的github回购协议中的一个未决问题

从工程角度来看,我认为在生产中使用Traceur+ES5垫片组合是一个非常糟糕的主意。您不仅需要处理从ES6->ES5引发的潜在问题,还需要解决由于错误ES5 polyfills而导致的错误,这两个问题都很可能发生


将Traceur与各种多边形填充和修补程序结合使用也会导致JavaScript代码极度膨胀。举个例子,让我们考虑简单的ES6生成器用法和ES5<代码>数组。原型。每个< /代码>:

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

@jsalonen我觉得真正的答案应该是客观的。但请随意编辑/提出建议,以减少这种情况发生的可能性。经过一些考虑和您的编辑,撤回了我的投票。另外:您能否更具体地说明一下“Traceur功能”的含义?你是说ES6语言功能吗?所有使用es5shim不能或不能提供的东西的东西。找出问题的最佳方法可能是在出现问题时作出反应。@jgillich我想,但我正在试图弄清楚是否有人对ES6功能编译为ES3或ES3+es5shim兼容有确切的了解JS@jsalonen:是和否。Traceur本身只能支持ES6功能的一个子集(),因此,自然地,在“否”栏中的任何内容,在这个问题+1中都会自动出现“否”,谢谢你的回答。我已经进一步澄清了这个问题,并将其留待讨论,因为我实际上是在寻找非常具体和可衡量的信息,尽管我不确定是否有人真的进行了评估。如果有人这样做了,希望这能成为有类似问题的人登陆的地方。TBH,只要我们的网站基本上可以阅读IE8,我们就不会因为一些小故障而失眠。需要严格兼容性的代码可以直接使用ES3。但如果能提前知道ES6的哪些功能是安全的,那就太好了。。。