//ES三、ES5的寫法 function foo(){ var arr = Array.prototype.slice.call(arguments); var sum = 0; arr.forEach(function(item){ sum += item; }); return sum; } console.log(foo(1, 2, 3)); //6 //ES6的寫法 function foo(...arr){ //arr就是可變參數列表 let sum = 0; arr.forEach(item => { sum += item; }); return sum; } console.log(foo(1, 2, 3)); //6
從以上代碼來看,ES6的寫法就簡便不少。其中Array.prototype.slice.call(arguments)可以將arguments轉成數組,而三個點「...」是ES6的擴展運算符。數組