三点运算符详解

三点运算符

含义是将数组转化为用逗号隔开的参数序列。

let arr1 = [3, 4, 5]
let arr2 = [1, 2, ...arr1, 6]
console.log(arr2)

替代数组的apply方法

由于出现了三点运算符,所以不需要使用apply方法将数组转换为函数的参数

function fun(x,y,z){

}

let args = [0,1,2];
fun(...args);

应用

合并数组

三点运算符提供了数组合并的新方法

let arr1 = [1,2,3]
let arr2 = [4,5,6]
console.log(arr1.concat(arr2));
console.log([...arr1,...arr2]);
arr1.push(...arr2)
console.log(arr1);

// 输出均为 [1, 2, 3, 4, 5, 6]

解构赋值

let [first,...rest] = [1,2,3,4];
console.log(first);//1
console.log(rest);//[2,3,4]

js函数只能返回一个返回值,使用三点运算符返回多个返回值

转换数组

任何实现了Iterator接口的对象,都可以利用三点运算符

将字符串转换为数组

优点:可以正确识别32位的Unicode字符


console.log([...'hello']);
// ["h", "e", "l", "l", "o"]

let str = 'x\uD83D\uDE80Y'
let arr1 = Array.from(str);
let arr2 = [...'x\uD83D\uDE80Y'];
console.log(arr1);
// ["x", "🚀", "Y"]

console.log(arr2);
// ["x", "🚀", "Y"]

console.log(str.length);//4
console.log([...str].length);//3
// js会把32为是Unicode字符识别为2个字符,使用扩展运算符可以正确返回结果

// Unicode
// 统一码,也叫万国码、单一码
// 是计算机科学领域里的一项业界标准,包括字符集、编码方案等。
// Unicode 是为了解决传统的字符编码方案的局限而产生的,
// 它为每种语言中的每个字符设定了统一并且唯一的二进制编码,
// 以满足跨语言、跨平台进行文本转换、处理的要求。
// 就是将世界上所有的文字用2个字节统一进行编码。
// 2个字节就已经足够容纳世界上所有的语言的大部分文字了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值