Javascript - Object vs Map


Map是ES6(ECMAScript 2015)新增的資料結構之一,同樣都是 { } ,所以應該要了解什麼情況會從Object轉而使用Map。

Object Map
Key的型別 字串、Symbol 任何型別
鍵值對的順序 X O
使用方法 . 、 [ ] set( ) 、 get( ) 、 has( )等
迭代方法(iteration) Object.keys for...of 、 forEach

使用情境:
*Object:

  1. 當你需要直接訪問屬性時,Object 提供了更方便的語法。你可以使用 . 或 [ ] 來訪問屬性。
  2. 當你的鍵是字符串或符號時。
  3. 當你需要一個簡單的鍵值對集合時。例如,當你有一個固定的一組鍵和對應的值時。

*Map:

  1. 當你需要動態地添加和刪除鍵值對時。
  2. 當你需要按插入順序進行操作時,因為它保持了插入順序。
  3. 當你的Key不僅限於字符串和符號時,因為它可以接受任意類型的鍵。






你可能感興趣的文章

學 JavaScript 的那些筆記 2 -- npm & jest

學 JavaScript 的那些筆記 2 -- npm & jest

什麼是 SSR, SSG, ISR, CSR ?

什麼是 SSR, SSG, ISR, CSR ?

[Day 7++] 番外篇 設計模式中英對照表

[Day 7++] 番外篇 設計模式中英對照表






留言討論