JavaScript - 展开运算符

Posted 我真的爱敲代码

tags:

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

欢迎学习交流!!!
持续更新中…

文章目录


展开运算符

把对象或者数组里面的东西直接打开,一般多用于数组里面

语法...数组 或 ...对象

作用

  • 进行数组的拼接
  • 进行函数的参数传递

基础用法

let arr1 = [1,3,5,7,9]
let arr2 = [2,4,6,8,10]
console.log(...arr1);   //展开一个数组
let arr3 = [...arr1,...arr2]    //连接数组
console.log(arr3)

函数传参的应用

function sum(...numbers) {  //用此方式可以批量地吧把所有参数都接收到
    console.log('@',numbers);
}
console.log(sum(1,2,3))

例题:有一个数组,数组中的元素都是数值类型(numbers),计算一个数组中所有元素的和
-----在函数中使用

function sum(...numbers) {
	return numbers.reduce((preValue,currentValue) => {  //preValue为之前的值currentValue为当前的值
		return preValue + currentValue
	})
}
console.log(sum(1,2,3))

构造字面量对象时使用展开语法

let person = {name:'tom',age:17}
let person2 = {...person}
//console.log(...person)   //报错,展开运算符不能展开一个对象
person.name = 'jerry'
console.log(person2);   //person2的值不会改变
console.log(person);    //person的值会改变

合并

let person = {name:'tom',age:17}
let person2 = {...person}
//console.log(...person)   //报错,展开运算符不能展开一个对象
person.name = 'jerry'
console.log(person2);   //person2的值不会改变
console.log(person);    //person的值会改变
// 合并
let person3 = {...person,name:'jack',address:'地球'}
console.log(person3)

以上是关于JavaScript - 展开运算符的主要内容,如果未能解决你的问题,请参考以下文章

10个JavaScript代码片段,使你更加容易前端开发。

JavaScript - 展开运算符

JavaScript展开操作符(Spread operator)介绍

扩展运算符在此 javascript 代码中的作用是啥?

JavaScript中pipe实战

3. 现代 javascript 数组专题