Merge pull request #2331 from vsemozhetbyt/patch-4
Fix typos in 1.5.8 (WeakMap and WeakSet)
This commit is contained in:
commit
b563d4d08c
1 changed files with 4 additions and 3 deletions
|
@ -207,7 +207,7 @@ alert(cache.size); // 1 (Ouch! The object is still in cache, taking memory!)
|
|||
|
||||
For multiple calls of `process(obj)` with the same object, it only calculates the result the first time, and then just takes it from `cache`. The downside is that we need to clean `cache` when the object is not needed any more.
|
||||
|
||||
If we replace `Map` with `WeakMap`, then this problem disappears. The cached result will be removed from memory automatically after the object gets garbage collected .
|
||||
If we replace `Map` with `WeakMap`, then this problem disappears. The cached result will be removed from memory automatically after the object gets garbage collected.
|
||||
|
||||
```js run
|
||||
// 📁 cache.js
|
||||
|
@ -284,7 +284,8 @@ The most notable limitation of `WeakMap` and `WeakSet` is the absence of iterati
|
|||
|
||||
`WeakSet` is `Set`-like collection that stores only objects and removes them once they become inaccessible by other means.
|
||||
|
||||
It's main advantages are that they have weak reference to objects, so they can easily be removed by garbage colector.
|
||||
That comes at the cost of not having support for `clear`, `size`, `keys`, `values` ...
|
||||
Their main advantages are that they have weak reference to objects, so they can easily be removed by garbage colector.
|
||||
|
||||
That comes at the cost of not having support for `clear`, `size`, `keys`, `values`...
|
||||
|
||||
`WeakMap` and `WeakSet` are used as "secondary" data structures in addition to the "primary" object storage. Once the object is removed from the primary storage, if it is only found as the key of `WeakMap` or in a `WeakSet`, it will be cleaned up automatically.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue