rest 参数与扩展运算符

Posted piaobodewu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rest 参数与扩展运算符相关的知识,希望对你有一定的参考价值。

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 参数与扩展运算符的主要内容,如果未能解决你的问题,请参考以下文章

ES6-11学习笔记--扩展运算符与rest参数

扩展运算符与rest参数

☀️Rest参数和扩展运算符

☀️Rest参数和扩展运算符

☀️Rest参数和扩展运算符

ES6系列_4之扩展运算符和rest运算符