ts中的三点运算符

这个运算符,当然es6里面也有,是值得注意的,容易把人搞迷糊

它有两个功能

1,展开

2,收纳

前一个功能是它的标准功能,网上收展开能搜索到,但收纳这个要仔细看不要被搞迷糊了

demo:

let nums= [1,2,3,4]
let [f, ...rest] = nums;
console.log(f);   // 输出: 1
console.log(rest);// 输出: [2,3,4]

这收 2,3,4 被收纳进了 左边声明的新变量 rest里了

再举个它标准的功能 展开

let arr1=[1,2,3]
let arr2=[4,5,6,7]

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

注意它的使用特征,都是先写 ... 然后紧跟一个变量,如果这个变量在左则,是新定义的,那么是收纳,如果是已经存在的变量在右则,或在方法的参数定义里,那么是展开的意思

正是因为它有这种容易含混不清的双重功能,所以值得记录一笔,以引起注意,防止迷糊犯错。

原文地址:https://www.cnblogs.com/ProjectDD/p/11796998.html