我正在查看var args = [true] .concat(Array.prototype.slice.call(arguments));我的理解是它试图将函数的参数添加到数组的末尾。但是我对语法[true]不熟悉,在数组中有true。它试图实现什么?如果存在数组则添加?如果不存在则创建一个数组,然后添加?
extend: function extend(/* dest, source1, source2, ...*/) {
var args = [true].concat(Array.prototype.slice.call(arguments));
return copyInto.apply(this, args);
},
答案 0 :(得分:1)
[true]创建一个布尔元素的数组,该数组为真。
例如,这也是有效的:
[true, false, true]
[0,1,2]
[true] .concat(其他一些数组)返回一个数组,它是[true]和其他一些数组的串联
例如
[true].concat([true, false, false])
等于[true,true,false,false]