Spread Operator… / Rest Parameter…
*the rest parameter is a feature that allows a function to accept an indefinite number of arguments*
// Rest parameter
var argumentsLength = function(...args) {
// 也可以把 array like args 轉 array 使用 [...args]
return args.length
};
argumentsLength(1,2,3) // 3
*The spread operator is used to unpack elements from an array or an iterable object (like a string or a set) into individual elements.*
// Spread Operator
let arr = [3];
let arr2 = [8, 9, 15];
let merged = [0, ...arr, 2, ...arr2];
alert(merged); // 0,3,2,8,9,15
// copy array
let arr = [1, 2, 3];
let arrCopy = [...arr];
推薦閱讀
英文: Rest parameters and spread syntax (https://javascript.info/rest-parameters-spread)
延伸考題 array-like object 跟 array 有什麼不同 ?
像 function 裡的 arguments 是 array like object ,他可以使用 length、for…of、arguments[0] 等但卻不能使用 array 原生方法例如 push、forEach …等。若想要使用 array 原生方法必須使用 […arguments] 或Array.from() 轉成真正 array 才能使用