spread-syntax

本文深入探讨了ES6中的展开语法(spread syntax),包括其在函数传参、数组操作及对象拷贝中的应用。通过具体示例展示了如何使用展开语法替代apply方法、拷贝和合并数组,以及进行对象的浅拷贝。

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

<pre>

sprend syntax 展开语法, es6 语法

应用场景: 数组, 字符串展开, 用在函数传参,数组初始化,对象展开成k-v键值对
就相当于 对数组, 字符串, 对象 迭代

语法;
1. 函数传参 myfunc(...args)
2. 数组 [1,3,5,...array, 7]
2. 对象展开 {...obj}

</pre>

<script>

// 1. 在函数调用的时候,替换apply方法
function myfunc(x, y, z) {
console.log(x + y + z)
}
var args = [1, 2, 3];
myfunc.apply(null, args) // apply 方法接受数组(伪数组),函数调用的时候自动展开

// 替换apply方法
myfunc(...args);

// 在函数调用的时候,传参数可以通过...展开数组,平铺参数传入函数
// 构造函数


// 2. 拷贝数组
// 仅能拷贝一维数组 这一点和object.assign一致
var arr = [1,2,3]
var arr2 = [...arr];

// 2.1 连接数组,合并数组
// 以前 concate 尾部添加 unshift 首部添加
var arr3 = [1,2,3];
var arr4 = [4,5,6];
var arr5 = [...arr3, ...arr4];

// 3. 对象拷贝 浅拷贝 shallow-copy
// object.assign() 方法会触发setter spread syntax不会
var obj = {
name: 'zhangs',
age: 22
}
var obj2 = {...obj}

</script>

转载于:https://www.cnblogs.com/techmessage/p/10177659.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值