繁体   English   中英

ES6 Map功能支持 - IE11支持太大了?

[英]ES6 Map features support - too big support in IE11?

我正在探索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中执行它,令我惊讶的是,结果是真的 真的是Babel(虽然Babel没有生成任何代码)和IE 11控制台。

这是为什么?

要玩弄我使用Babel:

https://babeljs.io/repl

这是Babel在REPL中使用Map polyfill。 如果您在IE11本身中逐字地运行该代码,则会出现false ,而不是true

 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中的结果:

在此输入图像描述


(在REPL中,如果你使用console.log(Map) ,它会显示function Map() { [native code] } 。但是logansfmyth友好地在评论中证实 Babel这样做如果符合本机行为,则调整函数。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM