---
description: 🚧 施工中
---

# memoization

[JS](../../../../..) ⟩ [technique](../../../../../tech) ⟩ memoization

{% hint style="success" %}
(functional programming)&#x20;

<mark style="color:orange;">**make**</mark> a [..](../../.. "mention")/[method](../../../../obj/method "mention") "<mark style="color:yellow;">**remember**</mark>" its [return-value](../../../return-value "mention")s.
{% endhint %}

{% tabs %}
{% tab title="🔴 主題" %}
* [memoize-by-decorator](memoize/memoize-by-decorator "mention") ⭐️
* [by-closure](memoize/by-closure "mention")
* memoization by default parameter
{% endtab %}

{% tab title="📗 參考" %}
* [ ] [ydkjs-scope-and-closures-v.2](../../../../../../master/ref/book/you-dont-know-js-series-v.2/ydkjs-scope-and-closures-v.2 "mention") ⟩ Ch. 6  (by IIFE, ie. closure)
* [ ] JS.info ⟩ [Decorators and forwarding, call/apply](https://javascript.info/call-apply-decorators) (by decorator)
* [ ] [\[演算法\] Fibonacci：善用 cache 和 Memoization 提升程式效能](https://pjchender.blogspot.com/2017/09/fibonacci-cache-memoization.html) (by parameter)
* [ ] Wictionary ⟩  [memoize](https://en.wiktionary.org/wiki/memoize) - to store (the result of a computation) so that it can be subsequently retrieved without repeating the computation.
{% endtab %}

{% tab title="👥 相關" %}
* [](<> "mention")
{% endtab %}

{% tab title="🚧" %}
* [ ] functional programming
{% endtab %}
{% endtabs %}
