# higher-order function

[JS](../../..) ⟩ [value](../..) ⟩ [function](..) ⟩ higher-order function

{% hint style="success" %}
a function that takes other <mark style="color:yellow;">**functions**</mark> as [**arguments**](../argument) or as [**return value**](../return-value).
{% endhint %}

{% tabs %}
{% tab title="🔴 主題" %}
* [decorator](higher/decorator "mention")
{% endtab %}

{% tab title="💈範例" %}
* [not-f](higher/not-f "mention") - logical negation.
* [pipe](higher/pipe "mention") - function composition.
* [partial](higher/partial "mention") - partial application of function
{% endtab %}

{% tab title="📗 參考" %}
* [ ] Eloquent JavaScript ⟩ [higher-order functions](https://eloquentjavascript.net/05_higher_order.html#h_xxCc98lOBK)
* [ ] [javascript-the-definitive-guide](../../../../master/ref/javascript-the-definitive-guide "mention") ⟩ 8.8.2 Higher-Order Functions&#x20;
{% endtab %}
{% endtabs %}
