我正在研究ES6的一些功能。为了查看可用性和使用位置,我使用以下链接:http://kangax.github.io/compat-table/es6/
我使用Babel进行尝试:https://babeljs.io/repl
当我探索Map时,兼容性表格显示:
但我复制了示例代码:构造函数参数在IE11中不受支持
var result = function() {
var key1 = {};
var key2 = {};
var map = new Map([[key1, 123], [key2, 456]]);
return map.has(key1) && map.get(key1) === 123 &&
map.has(key2) && map.get(key2) === 456;
}();
console.log(result);
我在IE11上执行它,令我惊讶的是结果是true。 true 在Babel中也有(尽管Babel没有生成任何代码),在IE 11控制台中也是如此。
为什么会这样呢?
[native code]
是一个有争议的问题,但是目前core-js
会这样做,以使具有本地行为的内容看起来像本地内容。 - loganfsmythtoString
! - T.J. Crowdercore-js
是babel-polyfill
的一部分,因此在加载babel-polyfill
时它也会被包含进去。 - loganfsmyth