- Mastering Immutable.js
- Adam Boduch
- 202字
- 2021-07-08 10:30:13
Using the clear() method
You don't actually have to create a utility function to empty collections by replacing them with new instances. The clear() method does the same thing:
const myList = List.of(1, 2);
const myMap = Map.of('one', 1, 'two', 2);
// Create new instances by emptying the
// existing instances.
const myEmptyList = myList.clear();
const myEmptyMap = myMap.clear();
console.log('myList', myList.toJS());
// -> myList [ 1, 2 ]
console.log('myEmptyList', myEmptyList.toJS());
// -> myEmptyList []
console.log('myMap', myMap.toJS());
// -> myMap { one: 1, two: 2 }
console.log('myEmptyMap', myEmptyMap.toJS());
// -> myEmptyMap {}
The benefit with the clear() method is that you don't have to invent a utility function that returns new collection instances based on type. Another advantage is that the clear() method will first check to see if the collection is already empty and, if so, it will return the current collection.
Immutable.js does something neat when it creates new collections. The first time an empty collection is created, let's say a list, that same list instance is reused whenever an empty list is needed. If you create an empty list ( List()), or clear a list ( myList.clear()), the same instance is reused every time. This is only possible because collections are immutable.
推薦閱讀
- OpenStack Cloud Computing Cookbook(Third Edition)
- Cocos2d Cross-Platform Game Development Cookbook(Second Edition)
- Rust編程:入門、實戰與進階
- Python for Secret Agents:Volume II
- 基于ARM Cortex-M4F內核的MSP432 MCU開發實踐
- Python語言實用教程
- 詳解MATLAB圖形繪制技術
- Extreme C
- Building Serverless Architectures
- Mastering AWS Security
- C++ System Programming Cookbook
- JQuery風暴:完美用戶體驗
- 深入大型數據集:并行與分布化Python代碼
- Learning TypeScript
- 每個人的Python:數學、算法和游戲編程訓練營