es6 展开运算符 ...

好记性不如烂笔头,在学习的过程中,越来越明白这句话的含义;

ES6的展开运算符使用三个点来表示  ...


使用展开运算符的前提:对象具有 Iterator 遍历器接口 ,比如数组,

怎么判断一个对象是否具有Iterator 遍历器接口呢,我们查看对象是否有 Symbol(Symbol.iterator)

属性就可以了有的话,那就具有Iterator 遍历器接口,没有的话,那就不具有;

我们看看数组:

< script>
let arr =[ "测试", "接口", "类型"];
console. log(arr);
</ script>

查看控制台:

  1. ƒ unshift()
  2. values:ƒ values()
  3. Symbol(Symbol.iterator):ƒ values()
  4. Symbol(Symbol.unscopables):{copyWithintrueentriestruefilltruefindtruefindIndextrue, …}
  5. __proto__:Object

可以看到是有这个属性的,那么就是说,数组是具有这个接口的,

也就是说,我们可以对数组使用展开运算符;

数组,map ,set  在es6中都是具有这个接口的,但是object对象在es7中才增加了这个接口;

除了上面的,字符串也是可以的,和数组一样;


下面我们可以利用展开运算符展开一个数组:

< script>
let arr =[ "测试", "接口", "类型"];
console. log( ...arr);
</ script>


上面输出:测试 接口 类型

在数组的名字前面加上 ...  即可展开数组中的所有内容;


利用上面的展开,我们就可以在函数的参数中使用:

< script>
let arr =[ "测试", "接口", "类型"];
function abc( a, b, c){
return a +b +c;
}
console. log( abc( ...arr));
</ script>


还有很多的使用方法,慢慢积累了...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值