展開運算子 object

2021-10-12 12:45:31 字數 883 閱讀 8490

如果只說展開運算子,可能小夥伴會一臉懵逼,你在說啥啊?

但是如果換成另一種說法:[...object],那麼小夥伴可能恍然大悟:「噢~ 你說 es6 的這個表示式啊!」

函式呼叫:myfunction(...iterableobj);字面量陣列構造或字串:[...iterableobj, '4', ...'hello', 6];構造字面量物件時,進行轉殖或者屬性拷貝(ecmascript 2018規範新增特性):let objclone = ;

展開語法和object.assign()行為是一致的,執行的都是淺拷貝(只遍歷一層)。如果需要更深層次的拷貝,那麼就會出問題。

var arr1 =[1

,2,3

];var arr2 =

[...arr1]

;// like arr.slice()

arr2.

push(4

); console.

log(arr1)

;// [ 1, 2, 3 ]

console.

log(arr2)

;// [ 1, 2, 3, 4 ]

var arr1 =[0

,1,2

];var arr2 =[3

,4,5

];var arr3 =

[...arr1,

...arr2]

;console.

log(arr3)

;// [ 0, 1, 2, 3, 4, 5 ]

展開運算子

複製陣列 錯誤方法 arr2 arr1 console.log arr1 arr2 true 傳統方法 let arr3 arr1.concat console.log arr1 arr3 false 新方法 let arr1 1,2,3 let arr2 4,5,6,arr1 console.lo...

Kotlin展開運算子

當你需要傳遞乙個陣列引數時,在kotlin中需要你解包陣列,以便每個陣列元素在函式中能作為單獨的引數來呼叫。我們使用 號來展開這個陣列。fun main one,two,three,four 下面這為錯誤的 fun main type mismatch inferred type is listbu...

展開運算子 的使用

1.展開陣列 let arr1 1,2,3 let arr2 4,5,6 console.log arr1 1 2 3 合併陣列 let arr3 arr1,arr2 console.log arr3 1,2,3,4,5,6 2.不能直接展開物件,需在花括號包裹下 let obj console.l...