运算符"/>
延展操作符/扩展运算符
扩展运算符(spread)是三个点(…)。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列。
他的应用:
(1)复制数组
const a = [1,2,3]
复制 cosnt b = […a]
(2)合并数组
cosnt arr1 = [1,2]
const arr2 = [4,5,6]
合并[…arr1,…arr2],注意这种方式是浅拷贝,如果修改了引用指向的值,会同步反映到新数组
(3)与解构赋值结合
例子:
const [first, …rest] = [1, 2, 3, 4, 5];
first // 1
rest // [2, 3, 4, 5]
const [first, …rest] = [];
first // undefined
rest // []
const [first, …rest] = [“foo”];
first // “foo”
rest // []
如果将扩展运算符用于数组赋值,只能放在参数的最后一位,否则会报错。
(4)字符串
扩展运算符还可以将字符串转为真正的数组。
涉及到操作四个字节的 Unicode 字符的函数最好都用扩展运算符改写。
‘x\uD83D\uDE80y’.length // 4
[…‘x\uD83D\uDE80y’].length // 3
(5)实现了 Iterator 接口的对象
(6)Map 和 Set 结构,Generator 函数
详情见:
更多推荐
延展操作符/扩展运算符
发布评论