# type name

[JS](../..) ⟩ [value](..) ⟩ [type]() ⟩ type name

{% tabs %}
{% tab title="🔴 主題" %}
* [typeof](name/typeof "mention") operator
* [base-type-name](name/base-type-name "mention")
* [typename](name/typename "mention") - refined version of [typeof](name/typeof "mention").
* [custom-type-name](name/custom-type-name "mention") - how to define a custom type name for a [class](../class "mention").
{% endtab %}

{% tab title="⭐️ 重點" %}
{% hint style="warning" %}
[Symbol.toStringTag](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/toStringTag) is accessed <mark style="color:orange;">**internally**</mark> by the [`Object.prototype.toString()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString) method.
{% endhint %}
{% endtab %}

{% tab title="📘 手冊" %}
* [ ] [typeof](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof) ⟩&#x20;
  * [ ] [real-world usage](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof#real-world_usage)
  * [ ] [custom method that gets a more specific type](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof#custom_method_that_gets_a_more_specific_type) ⭐️
* [ ] [Object.prototype.toString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString)
* [ ] [Symbol.toStringTag](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/toStringTag) ⭐️
* [ ] [instanceof](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/instanceof)
{% endtab %}

{% tab title="👥 相關" %}
* [typename](name/typename "mention")
{% endtab %}
{% endtabs %}
