Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.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
Javascript ES6地图功能支持-在IE11中支持太大?_Javascript_Ecmascript 6 - Fatal编程技术网

Javascript ES6地图功能支持-在IE11中支持太大?

Javascript ES6地图功能支持-在IE11中支持太大?,javascript,ecmascript-6,Javascript,Ecmascript 6,我正在探索ES6的一些特性。要检查可用内容和使用位置,请执行以下操作: 我使用Babel玩游戏: 当浏览地图时,兼容性表显示 IE11中不支持构造函数参数 但我复制了示例代码: var result = function() { var key1 = {}; var key2 = {}; var map = new Map([[key1, 123], [key2, 456]]); return map.has(key1) && map.get(key1) =

我正在探索ES6的一些特性。要检查可用内容和使用位置,请执行以下操作:

我使用Babel玩游戏:

当浏览
地图时,兼容性表显示

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既在Babel中(尽管Babel没有生成任何代码),也在IE11控制台中

为什么呢

我使用Babel玩游戏:

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

var result=function(){
var key1={};
var-key2={};
var-map=newmap([[key1,123],[key2,456]]);
返回map.has(key1)&&map.get(key1)==123&&
map.has(键2)和map.get(键2)==456;
}();

控制台日志(结果)谢谢。我在这里测试过,你是对的。但,若我打开Babel的页面并以多行模式运行它,结果仍然是正确的。这意味着巴贝尔正在使用垫片。相当地misleading@dragonfly:嗯,REPL旨在为您提供一个快速的环境,用于测试使用Babel进行传输时将获得的结果。但我不得不说,我不太清楚他们到底在做什么,以使它发挥作用;请参阅答案末尾的更新…:-)巴贝尔确实填补了这个空缺。
[本机代码]
是一个值得商榷的问题,但是
核心js
目前这样做是为了让具有本机行为的东西看起来像本机。@loganfsmyth:谢谢,这很有意义。我应该有意识地不相信函数的
toString
@loganfsmyth:那么这是否意味着当我在构建管道中包含babel时,我还需要包含整个核心js?