2016-03-10 36 views

回答

1

[]创建一个空数组。 [].concat是数组上的方法,该代码将privateUserList传入。最终结果是包含与privateUserList(如果它是一个数组)或包含privateUserList本身(如果它不是数组)相同的条目的新数组。

这是理论上低效的,因为它创建和扔掉的阵列(因为concat创建一个新阵列,通过[]创建的一个被丢弃)。但是这个创建和抛出数组的其他常见相关习语却很常见,可能会得到优化。

如果(再一次),我们假定privateUserList是一个数组,更直接的方式来做到这一点是:

return privateUserList.slice(); 

如果我们想支持任何阵列状concat没有),我们“d使用:

return Array.prototype.slice.call(privateUserList); 

或ES2015(或带有垫片):

return Array.from(privateUserList); 
2

[]是一个空数组。就像[1,2,3,4]将是一个包含四个元素的数组。

该代码段创建一个空数组,然后连接到它privateUserList