展開運算子,將乙個陣列轉為用逗號分隔的引數序列
合併陣列
let a =[1
,2,3
];let b =[4
,5,6
];let c =
[...a,
...b]
;// [1,2,3,4,5,6]
解構賦值
let a =[1
,2,3
,4,5
,6]let
[c,...d]
= aconsole.
log(c)
;// 1
console.
log(d)
;// [2,3,4,5,6]
//展開運算子必須放在最後一位
function
f(a,b,c)
let args =[1
,2,3
];// 以下三種方法結果相同f.(
null
,args)f(
...args)f(
1,2,
3)functionf2(
...args)f2(
1,2,
3)// [1,2,3]
functionf3(
)f3(1
,2,3
)// [1,2,3]
array.from() 可以通過以下方式來建立陣列物件:
let a =[1
,2,3
];let b =[4
,5,6
];array.prototype.push.
(a,b)
;// 或
a.push
(...b)
// 兩種方法取其一
淺拷貝
//陣列
var a =[1
,2,4
]var b =
[...a]
a.push(6
)console.
log(b)
// [1,2,4]
//物件
var a =
var b =
a.a =
5console.
log(b.a)
// 1
字串轉為陣列,正確識別 32 位的 unicode 字元
[
...'siva'
]// ['s','i','v','a']
[...
'x\ud83d\ude80y'
].length // 3
具有 iterator 介面的物件,轉換成陣列
var nodelist = document.
queryselectorall
('div');
console.
log(
[...nodelist]
)// 轉化成陣列
var map =
newmap([
[1,11
],[2
,22],
[3,33
]]);
console.
log(
[...map.
keys()
]);// [1,2,3]
es6 展開運算子
展開運算子不能用在物件當中,只能在可遍歷物件中使用 iterables iterables的實現是依靠 symbol.iterator 函式,目前只有array,set,string內建 symbol.iterator 方法,不過es7草案中已經加入了物件展開運算子。可用展開運算子展開陣列,解構陣列...
es6 展開運算子
好記性不如爛筆頭,在學習的過程中,越來越明白這句話的含義 es6的展開運算子使用三個點來表示 使用展開運算子的前提 物件具有 iterator 遍歷器介面 比如陣列,怎麼判斷乙個物件是否具有iterator 遍歷器介面呢,我們檢視物件是否有symbol symbol.iterator 屬性就可以了 ...
es6展開運算子
展開運算子 在es6中用.來表示展開運算子,它可以將陣列方法或者物件進行展開。先來看乙個例子它是如何使用的。const arr1 1,2,3 const arr2 arr1,10,20,30 這樣,arr2 就變成了 1,2,3,10,20,30 arr1中的值完全轉殖到了arr2中 arr1改變a...