好记性不如烂笔头,在学习的过程中,越来越明白这句话的含义;
ES6的展开运算符使用三个点来表示 ...
使用展开运算符的前提:对象具有 Iterator 遍历器接口 ,比如数组,
怎么判断一个对象是否具有Iterator 遍历器接口呢,我们查看对象是否有 Symbol(Symbol.iterator)
属性就可以了,有的话,那就具有Iterator 遍历器接口,没有的话,那就不具有;
我们看看数组:
<
script>
let arr
=[
"测试",
"接口",
"类型"];
console.
log(arr);
</
script>
查看控制台:
可以看到是有这个属性的,那么就是说,数组是具有这个接口的,
也就是说,我们可以对数组使用展开运算符;
数组,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>
还有很多的使用方法,慢慢积累了...