Immutable.Records

最近開始在 project 內使用 Immutable.Records,紀錄一下幾個特色:

self-documenting

  • 在讀源碼的時候可以輕易地從 Records 的宣告理解資料格式

Immutable structure

  • 彌補了 js plain object 可以隨意刪改 property 的問題

存取方式

  • 可以用 js plain object 的方式存取 `console.log(record.name)`
  • 比較特別的是也可以用 es6 destructuring (這很讚, 因為寫 Immutable 的時候常常覺得用不上 es6 syntax 很煩)
  • Records 繼承了 Immutable.Map 所有的 functions,所以如果把 Records 包在 Map 裡也可以用 getIn 來取值

ref: