1. 程式人生 > >rest 參數與擴展運算符

rest 參數與擴展運算符

arp cto 多余 highlight -s turn code font 變量

rest 參數與擴展運算符

1.rest 參數

ES6 引入 rest 參數(形式為...變量名),用於獲取函數的多余參數,這樣就不需要使用arguments對象了。rest 參數搭配的變量是一個數組,該變量將多余的參數放入數組中。

function add(...values) {
  let sum = 0;

  for (var val of values) {
    sum += val;
  }

  return sum;
}

add(2, 5, 3) // 10

上面代碼的add函數是一個求和函數,利用 rest 參數,可以向該函數傳入任意數目的參數。

2.擴展運算符

擴展運算符(spread)是三個點(...

)。它將一個數組或對象轉為用逗號分隔的參數序列。

對數組
console.log(...[1, 2, 3])
// 1 2 3

console.log(1, ...[2, 3, 4], 5)
// 1 2 3 4 5

[...document.querySelectorAll(‘div‘)]
// [<div>, <div>, <div>]

對對象
let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 };
x // 1
y // 2
z // { a: 3, b: 4 }

3.分析

rest 參數與擴展運算符可以理解為互為逆運算

rest 參數與擴展運算符