令人费解的javascript数组语法

时间:2017-03-28 19:42:37

标签: javascript

我对这种结构感到困惑。它来自已发布的npm模块。似乎作者知道他的javascript。它的版本在模块中出现了好几次。

[].concat( opts['boolean'] ).filter( Boolean ).forEach( function( key ){
  flags.bools[key] = true;
});

由于它不会修改原始数组,并且从一开始就知道成员'boolean',为什么不只是:

opts.boolean.filter(Boolean).forEach(....

1 个答案:

答案 0 :(得分:1)

也许是因为:

[].concat(undefined) // => [undefined]

undefined.filter(...) // => ERROR