(原创) JS扩展运算符 Spread syntax

参考资料:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax

https://blog.csdn.net/qyl_0316/article/details/100547868

<!DOCTYPE html>
<html>
<head>
	<title>test spread</title>
</head>
<body>

	test spread

	<script type="text/javascript">
		function sum(x, y, z) {
			return x + y + z;
		}

		const numbers = [1, 2, 3];

		console.log("*********1***********");
		console.log(sum(...numbers));
		// expected output: 6

		console.log("*********2***********");
		console.log(sum.apply(null, numbers));
		// expected output: 6

		console.log("*********3***********");
		console.log(...numbers);

		console.log("*********4***********");
		console.log(...[3]);

		var a = [[1], [2], [3]];
		var b = [...a];
		console.log("*********5***********");
		console.log(a);
		console.log(b);

		var obj1 = { foo: 'bar', x: 42 };
		var obj2 = { foo: 'baz', y: 13 };

		var clonedObj = { ...obj1 };
		// Object { foo: "bar", x: 42 }
		console.log("*********6***********");
		console.log(clonedObj);

		var mergedObj = { ...obj1, ...obj2 };
		// Object { foo: "baz", x: 42, y: 13 }
		console.log("*********7***********");
		console.log(mergedObj);

		var obj = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'};
		// var array = [...obj]; // TypeError: obj is not iterable
		console.log("*********8***********");
		console.log({...obj});
		// console.log(array);

		var obj = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'};
		var obj2 = obj;
		obj2.key3 = 'value333';
		console.log("*********9***********");
		console.log(obj2);
		console.log("**********");
		console.log(obj);

		var obj = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'};
		var obj2 = { ...obj };
		obj2.key3 = 'value333';
		console.log("*********10***********");
		console.log(obj2);
		console.log("**********");
		console.log(obj);

</script>

</body>
</html>






 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值