... 展开运算符/剩余运算符

展开运算

展开数组

const arr = [1,2,3];
const arr2 = [4,5,6];
const arr3 = [...arr,...arr2,7]; // 合并两数组并添加新值
console.log(arr3) //[1,2,3,4,5,6,7]

展开对象

const o1 = {name : "tom" , age : 18};
console.log(...o1); //报错,不能展开对象
console.log({...o1}; // {name : "tom" , age : 18} 通过字面量形式复制了对象
const o2 = {...o1 , name : "jerry" , sex : "男"}
console.log(o2) // {name : "jerry" , age : 18 , sex : "男"} 修改合并对象

剩余运算

function sum(...nums){
	console.log(nums) // [1,2,3,4],数组包着所有参数
} 
sum(1,2,3,4)

// 使用Array.reduce
function sum(...nums){
	// reduce的返回值为最终的和,把和作为函数返回值返回即可
	return sums.reduce((preValue,currentValue)=>{
		return preValue + currentValue
	})
}
console.log(sums(1,2,3,4)); //10

在React中,批量传值有一个展开运算的语法糖

// {}代表代码是js表达式,展开运算不能展开对象,但在React中,标签内可以使用...展开对象
const p = {name:'tom',age:18}
// <MyComponent {...p} />  下方的简写语法糖
// <MyComponent name = "tom" age = "18"> 上方的原始样子
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值