美文网首页
es6的...运算符

es6的...运算符

作者: 饱饱想要的灵感 | 来源:发表于2023-03-30 09:59 被阅读0次

es6的...是展开运算符,可以将一个数组或对象展开成单个元素,也可以将多个元素合并成一个数组或对象。
在函数调用时,可以将数组或对象作为参数传递给函数,也可以将数组或对象展开成单个元素传递给函数。
在对象字面量中,可以使用展开运算符将一个对象的属性和方法复制到另一个对象中。

...有以下4种用法

  1. 扩展运算符:可以将一个数组或对象展开成多个元素,扩展运算符只能用于可迭代对象(如数组、字符串、Set、Map等),比如:
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const arr3 = [...arr1, ...arr2]; // [1, 2, 3, 4, 5, 6]

const obj1 = { a: 1, b: 2 };
const obj2 = { c: 3, d: 4 };
const obj3 = { ...obj1, ...obj2 }; // { a: 1, b: 2, c: 3, d: 4 }
  1. 剩余参数:可以将多个参数合并成一个数组,剩余参数只能用于函数参数列表中,比如:
function sum(...args) {
  return args.reduce((acc, cur) => acc + cur, 0);
}

sum(1, 2, 3); // 6
sum(4, 5, 6, 7); // 22
  1. 对象解构赋值:可以从一个对象中提取出多个属性,比如:
const obj = { a: 1, b: 2, c: 3 };
const { a, ...rest } = obj;

console.log(a); // 1
console.log(rest); // { b: 2, c: 3 }
  1. 数组解构赋值:可以从一个数组中提取出多个元素,比如:
const arr = [1, 2, 3, 4, 5];
const [first, second, ...rest] = arr;

console.log(first); // 1
console.log(second); // 2
console.log(rest); // [3, 4, 5]

相关文章

网友评论

      本文标题:es6的...运算符

      本文链接:https://www.haomeiwen.com/subject/cowfddtx.html