前端開發工作筆記——經常用到的ES6語法總結!

String類型和 Symbol 類型的屬性都會被拷貝。

合併對象

前端開發工作筆記——經常用到的ES6語法總結!

合併具有相同屬性的對象

前端開發工作筆記——經常用到的ES6語法總結!

六、Map和Set

Map和Set都叫做集合,但是他們也有所不同。Set常被用來檢查對象中是否存在某個鍵名,Map集合常被用來獲取已存的信息。

Set是有序列表,含有相互獨立的非重複值。

Array和Set對比

都是一個存儲多值的容器,兩者可以互相轉換,但是在使用場景上有區別。如下:

Array的indexOf方法比Set的has方法效率低下

Set不含有重複值(可以利用這個特性實現對一個數組的去重)

Set通過delete方法刪除某個值,而Array只能通過splice。兩者的使用方便程度前者更優

Array的很多新方法map、filter、some、every等是Set沒有的(但是通過兩者可以互相轉換來使用)

Object和Map對比

Object是字符串-值,Map是值-值

Object鍵為string類型,Map的鍵是任意類型

手動計算Object尺寸,Map.size可以獲取尺寸

Map的排序是插入順序

Object有原型,所以映射中有一些缺省的鍵。可以理解為Map=Object.create(null)

Set操作集合

前端開發工作筆記——經常用到的ES6語法總結!

Map的方法集合

前端開發工作筆記——經常用到的ES6語法總結!

七、迭代器(Iterator)

1、entries() 返回迭代器:返回鍵值對

前端開發工作筆記——經常用到的ES6語法總結!

2、values() 返回迭代器:返回鍵值對的value

前端開發工作筆記——經常用到的ES6語法總結!

3、keys() 返回迭代器:返回鍵值對的key

前端開發工作筆記——經常用到的ES6語法總結!

雖然上面列舉了3種內建的迭代器方法,但是不同集合的類型還有自己默認的迭代器,在for of中,數組和Set的默認迭代器是values(),Map的默認迭代器是entries()。

for of循環解構

對象本身不支持迭代,但是我們可以自己添加一個生成器,返回一個key,value的迭代器,然後使用for of循環解構key和value。

前端開發工作筆記——經常用到的ES6語法總結!

字符串迭代器

前端開發工作筆記——經常用到的ES6語法總結!

ES6給數組添加了幾個新方法:find()、findIndex()、fill()、copyWithin()

前端開發工作筆記——經常用到的ES6語法總結!

4、copyWithin():選擇數組的某個下標,從該位置開始複製數組元素,默認從0開始複製。也可以指定要複製的元素範圍。

前端開發工作筆記——經常用到的ES6語法總結!

ES6中類class、Promise與異步編程、代理(Proxy)和反射(Reflection)API,這幾塊內容比較複雜,以後有機會再詳細寫。

才入門的新手需要工具包和學習資料,私信666!



分享到:


相關文章: