如果只說展開運算子,可能小夥伴會一臉懵逼,你在說啥啊?
但是如果換成另一種說法:[...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...