Javascript Internet Explorer 11是否仍需要ES5垫片?

Javascript Internet Explorer 11是否仍需要ES5垫片?,javascript,ecmascript-5,es5-shim,Javascript,Ecmascript 5,Es5 Shim,我正在查看,似乎IE11支持所有ES5,除了(在Miscellaneous下)这个特性:“可枚举属性可以被非可枚举属性隐藏”。我不明白这意味着什么,尽管提供了一个例子 由于IE11支持它的大部分功能,我可以不使用它吗?是的,在这种情况下,卸下ES5垫片是安全的。我让网站可以使用IE11,常见的问题是自定义变量、ES6和CSS calc()相关的bug。使用映射并使用类似的方法CSS calc()创建了我自己的自定义变量仿真器。此处使用的length属性实际上来自函数构造函数的原型,并返回函数预期

我正在查看,似乎IE11支持所有ES5,除了(在Miscellaneous下)这个特性:“可枚举属性可以被非可枚举属性隐藏”。我不明白这意味着什么,尽管提供了一个例子


由于IE11支持它的大部分功能,我可以不使用它吗?

是的,在这种情况下,卸下ES5垫片是安全的。我让网站可以使用IE11,常见的问题是自定义变量、ES6和CSS calc()相关的bug。使用映射并使用类似的方法CSS calc()创建了我自己的自定义变量仿真器。

此处使用的
length
属性实际上来自
函数
构造函数的原型,并返回
函数
预期的参数量。正如您在我链接的页面上所看到的,属性是不可枚举的,因此
对于。。。在
中,不应枚举给定的属性。下面的代码片段演示了属性不可枚举,因此
result
将保持
true

var结果=true;
for(函数中的var propertyName){
如果(propertyName=='length'){
结果=假;
}
}
var isLengthEnumerable=Function.prototype.propertyEnumerable('length');
log('Function.prototype.length是可枚举的:'+isLengthEnumerable);
console.log('Result:'+Result)