三點運算子作用有兩個,一是做可變引數,替代arguments,二是做擴充套件運算子
1、rest(可變,剩餘)引數用來取代arguments,但比arguments靈活,只能是最後部分形參引數
function
add(...values)
return
sum;
}console.log(add(1,23,4,5,6));
2、擴充套件運算子
let arr1 = [1,3,5];
let arr2 = [2,...arr1,6];
arr2.push(...arr1);
呼叫iterator介面,來遍歷,所以,只要有iterator介面的結構,都能夠用...運算子來展開,比如陣列、set等
//console.log(...'www.fanrenyi.com');
set([1,2,2,3]));
set([1,2,2,3]));
uncaught typeerror: found non-callable @@iterator
1doctype html
>
2<
html
lang
="en"
>
3<
head
>
4<
meta
charset
="utf-8"
>
5<
title
>三點運算子
title
>
6head
>
7<
body
>833
<
script
>
34//
一、rest(可變)引數
35//
function fun(...values) );
40//
console.log(values);
41//
values.foreach(function (item) )
44//}45
//fun(1, 2, 3);
4647
48//
2、只能做最後部分的引數
49//
function add(a,b,...values)
57//
return sum;
58//}59
60script
>
6162
<
script
>
63//
2、擴充套件運算子
64//
let arr = [2,3,4,5,6];
65//
let arr1 = ['abc',...arr, 'fg'];
66//
//let arr1 = ['abc',2,3,4,5,6, 'fg'];
67//
console.log(arr1);
68//
arr1.push(...arr);
69//
70//
console.log(arr1);
7172
'www.fanrenyi.com');
73//
console.log(new set([1,2,2,3]));
74//
console.log(...new set([1,2,2,3]));
75//
console.log(...);// uncaught typeerror: found non-callable @@iterator
76script
>
77body
>
78html
>
ES6 擴充套件運算子 三點( )
擴充套件運算子 spread 是三個點 物件中的擴充套件運算子 用於取出引數物件中的所有可遍歷屬性,拷貝到當前物件之中 let bar let baz 上述方法實際上等價於 let bar let baz object.assign bar object.assign方法用於物件的合併,將源物件 s...
ES6三點擴充套件運算子
擴充套件運算子將乙個陣列轉為用逗號分隔的引數序列 將乙個陣列,變為引數序列 3 使用push將乙個陣列新增到另乙個陣列的尾部 合併陣列 將字串轉換為陣列 轉換偽陣列為真陣列 var nodelist document.queryselectorall p var array nodelist 具有i...
記錄一下ES6擴充套件運算子(三點運算子) 的用法
運算子用於運算元組,有兩種層面 1.第乙個叫做 展開運算子 spread operator 作用是和字面意思一樣,就是把東西展開。可以用在array和object上都行。比如 let a 1,2,3 let b 0,a,4 0,1,2,3,4 let obj let obj2 let obj3 2....