ES6學習筆記之擴充套件運算子

2021-10-03 14:40:35 字數 1359 閱讀 3272

1.擴充套件運算子(spread)是三個點(…)。將乙個陣列轉為用逗號分隔的引數序列,還能強制展開乙個物件,通常用於物件的賦值,使用靈活廣泛

第乙個作用:稱為「展開運算子」,就是把東西展開,可以用在陣列和物件上。

陣列也可以強制展開,通常陣列的賦值,比如有兩個陣列合成乙個陣列:

2.剩餘操作符

第二、三個作用:叫「剩餘操作符」是解構的一種,意思是把剩餘的引數放到乙個陣列中賦值給它。一般針對陣列或物件。

var

[a,b,

...c]=[

1,2,

3,4,

5,6]

;console.

log(a)

;//1

console.

log(b)

;//2

console.

log(c)

;//[3,4,5,6]

注意「…」只能出現最後乙個引數,並且通過這個例子發現…能將零散的值收納為陣列。

邏輯上,「…」是乙個運算子。「…」能將陣列打散為零散值。

補充個知識點,在es6中當乙個物件的key和value一致時,可以省略value。

let obj=

等價於 let obj=

應用場景2:

以後的函式大概率都是接收乙個json當引數,並且用es6解構語法寫形參變數。

呼叫函式的時候傳的引數,一般是k:v,省略v

var name =

"小明"

;var height =

170;

var weight =

100;

functionmm(

);// mm()mm(

)

呼叫函式時引數順序打亂也不影響結構,因為解構,會自動匹配key。

展開運算子和剩餘操作運算子的區別

關於展開運算子與剩餘操作符的直之間的區別,簡單的說,在某種程度上,剩餘操作符和展開運算子相反,展開運算子會「展開」陣列變成多個元素,剩餘操作符會收集多個元素和「壓縮」成乙個單一的元素。

ES6之擴充套件運算子 「 」

es6中的擴充套件運算子就是三個點 可以用來將乙個陣列分割為由陣列內容組成的引數序列。1 可以將陣列轉換為分隔開的字串 2 擴充套件運算子可以用於函式呼叫 1 將引數集成為陣列 function show a show 1,2,3,4,5 1,2,3,4,5 2 將陣列展開為相對應的引數 funct...

es6之擴充套件運算子

在es6以前,如果我們要把兩個陣列拼接到一起,通常是使用陣列的concat方法,比如 const a jelly bob helen const b james adrew john const c a.concat b console.log c jelly bob helen james adr...

ES6 擴充套件運算子

擴充套件運算子用3個點表示,功能是把陣列或者類陣列物件展開成一系列用逗號隔開的值 1,陣列 let arr red green blue console.log arr red,green,blue拷貝陣列 和object.assign一樣都是淺拷貝 let arr red green blue l...