ES6學習 新的語法 陣列元素Spread

2021-07-09 03:40:23 字數 712 閱讀 7975

前一篇文章講了spread操作符在函式引數中的用法,這篇簡單講一下spread操作符在陣列元素中的應用。直接看**吧:

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

let x = ['a', 'b'];

let y = ['c'];

let z = ['d', 'e'];

let arr = [...x, ...y, ...z]; // ['a', 'b', 'c', 'd', 'e']

[..."abc"]//["a", "b", "c"]

"abc".split("");//舊的寫法

我們知道有種arraylike形式的物件,比如arguments,dom查詢出來的collection,spread操作符是不能操作這種物件的,因為arraylike形式的物件不是iterator

let arraylike = ;

var arr1 = .slice.call(arraylike); // ['a', 'b', 'c']

[...arraylike];//uncaught typeerror:  is not a function(…)

*以上全部**在chrome 47下通過測試

es6 語法 (陣列擴充套件)

es6為array增加了from函式用來將其他物件轉換成陣列。當然,其他物件也是有要求,也不是所有的,可以將兩種物件轉換成陣列。1.部署了iterator介面的物件,比如 set,map,array。2.類陣列物件,什麼叫類陣列物件,就是乙個物件必須有length屬性,沒有length,轉出來的就是...

ES6學習 新的語法 函式引數Spread

spread操作符 是比較新的特性,但是在es6的規範中,沒有找到單獨的章節對這個操作符進行說明,這個操作符主要用在兩種情況下 函式傳參和陣列生成,這節主要講解第一種情況。規範的12.3.6.1中對函式引數列表的解釋如下 從上面描述的第四步中可以清晰看到,spread操作符後面的表示式應該是個ite...

ES6學習 新加API Object

這篇看看object物件新新增的一些api。1 object.is value1,value2 使用 判斷兩個value是否相等,兩個例外,nan等於nan,0不等於 0。var x nan,y 0,z 0 x x false y z true object.is x,x true object.i...