wd690143685
wd690143685
采纳率100%
2020-04-21 11:11

请问怎么下面这段JavaScript代码怎么理解

20

最近在看一份开源代码,里面用的js语法以前没见过

export var map = new Map((
   for (pn of Object.keys(exports))
     if (Array.isArray(exports[pn].custom_dom_events) && ~event_opcodes.indexOf(pn))
       [pn, exports[pn]]));

构造参数里面用了个for循环,还有if的执行体用[]括起来,请问这是哪一版的js语法?

我个人猜测是不是等价于下面的常见语法?

var map = new Map();
for(pn of Object.keys(exports)) {
  if (Array.isArray(exports[pn].custom_dom_events) && ~event_opcodes.indexOf(pn)) {  
    map.set(pn, exports[pn])
  }
}
export {map}
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • wojiushiwo945you 毕小宝 1年前

    如果这里的 Map 类型没有引用其他 js 模块的话,可能是 ES 6 的 Map 对象的使用方法。
    等价代码没错,就是这样的。

    点赞 2 评论 复制链接分享