擴充套件運算子具備兩個功能,乙個 spreed 展開功能 & rest 收集功能。es6可以處理陣列,es7能處理物件。
擴充套件運算子的使用
function
sum(
...arg)
sum(5,
2,7,
1,3,
8);function
sum(a,b,
...arg)
sum(5,
2,7,
1,3,
8);function
sum(a,
...arg,b)
sum(5,
2,7,
1,3,
8);let a =[1
,2,3
,4,5
];let b =[6
,7,8
,9];
let c =
[...a,
...b]
;// 可以拼接陣列
我們先寫乙個 es5 中不定參的例子,下面的例子中,sum
函式在被呼叫的過程中傳的引數是不固定的
function
sum(
)sum(1
,2,3
);sum(1,
2,3,
4,5)
這種在 es5 中遇到這種問題我們一般會用arguments
去解決,
function
sum();
return sumnumber;
}sum(1
,2,3
);sum(1,
2,3,
4,5)
這麼寫看上去還好,但是如果你要在函式中寫排序和出去最大值最小值。
function
sum();
return sumnumber;
}sum(5
,2,7
,1,3
,8);
**沒有問題,但是比較麻煩,如果用擴充套件運算子
function
sum(
...arg)
) console.
log(sumnumber);}
sum(5,
2,7,
1,3,8);
es7 中的的擴充套件運算子
es7 擴充套件運算子處理物件
let company =
let b =
, d:30}
let obj =
完成了乙個淺轉殖。
可以用通過 es6 新增的方法assign
去實現乙個深轉殖object.assign(target, ...sources)
ES6 擴充套件運算子
擴充套件運算子用3個點表示,功能是把陣列或者類陣列物件展開成一系列用逗號隔開的值 1,陣列 let arr red green blue console.log arr red,green,blue拷貝陣列 和object.assign一樣都是淺拷貝 let arr red green blue l...
ES6擴充套件運算子
首先,我們要讀仔細下面這句話,就很容易知道擴充套件運算子的使用了,可以在心裡反覆讀三遍 接下來,我們看下究竟怎麼個情況 宣告乙個方法 var foo function a,b,c console.log a console.log b console.log c 宣告乙個陣列 var arr 1,2...
es6擴充套件運算子
1 複製 拷貝 陣列 陣列元素都是基本資料型別 var arr a b c var copy arr console.log copy a b c arr copy false2 函式呼叫 陣列作引數 function add x,y var numbers 4 38 add numbers 423...