ES6语法之三点运算符...

本文详细探讨了ES6中三点运算符的用法,包括作为剩余参数收集未定义的元素,作为拓展运算符拆分数组和对象,以及其在数组和对象合并时的特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、三点运算符作为剩余参数-理解为把剩余的元素集合在一起


	//这里的10 20 30 分别传到函数作为形参,形参只有a和...rest,那么...rest其实就是把剩余的20 30集合一起接收了,变为了[20,30]
	function func2(a, ...rest) { 
	    console.log(a); //10
	    console.log(rest); //[20,30]
	    console.log(rest[0], rest[1], rest[2]); //20 30 undefined
	}
	func2(10, 20, 30);

	

二、三点运算符作为拓展运算符-也就是把元素拆开


	let arr = [10, 20, 30];
	function func2(a, b, c) {
	    console.log(a, b, c); //10 20 30 
	}
	func2(...arr); //这个...arr相当于把数组的元素拓展出来,也就是拆了数组,变为10 20 30传给函数的a b c分别接收
	

三、三点运算符还可以做什么

(1)合并数组


	let arr1 = [10, 20];
	let arr2 = [30, 40];
	let new_arr = [...arr1, ...arr2];
	console.log(new_arr); //[ 10, 20, 30, 40 ]

(2)合并对象–如果是2个对象合并,属性有相同的,后面的会覆盖前面的


	let obj1 = {
	    name: "nodejs",
	    age: 111,
	    email: "123@qq.com"
	}
	let obj2 = {
	    name: "js",
	    age: 222,
	    email: "node@qq.com"
	}
	// 
	let new_obj = { ...obj1, ...obj2 };
	console.log(new_obj); //{ name: 'js', age: 222, email: 'node@qq.com' }
	

合并对象和合并数组的区别就是在于一个是{ },一个是[ ]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值