Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2017年4月.
Symbol.toStringTag は静的データプロパティで、ウェルノウンシンボルの Symbol.toStringTag を表します。Object.prototype.toString() は this に対して、このオブジェクトの型を表す文字列を持つプロパティを、このシンボルで探します。
ウェルノウンシンボル Symbol.toStringTag です。
| 書込可能 | 不可 |
| 列挙可能 | 不可 |
| 設定可能 | 不可 |
値によっては Symbol.toStringTag を持たず、特別な toString() 表現を持つものもあります。完全な一覧は、Object.prototype.toString() を参照してください。
ほとんどの組み込みオブジェクトは、独自の [Symbol.toStringTag] プロパティを提供 しています。ほとんどの組み込みオブジェクト [Symbol.toStringTag] プロパティは書き込み不可、列挙不可、構成可能です。例外は Iterator で、互換性の理由から書き込み可能です。
Promise のようなコンストラクターオブジェクトでは、コンストラクターのすべてのインスタンスが [Symbol.toStringTag] を継承し、文字列化できるように、プロパティは Constructor.prototype にインストールされます。Math や JSON のようなコンストラクター以外のオブジェクトの場合、プロパティは静的プロパティとしてインストールされ、名前空間オブジェクト自体が文字列化できるようになります。コンストラクターが独自の toString メソッドを提供することもあります(例えば、Intl.Locale)。この場合、 [Symbol.toStringTag] プロパティは、明示的に Object.prototype.toString を呼び出した場合にのみ使用されます。
クラスを作成すると、 JavaScript は既定で "Object" というタグをつけます。
toStringTag を利用して、独自のカスタムタグを設定することができるようになりました。
WebIDL の仕様変更が 2020 年半ばに行われた関係で、ブラウザーはすべての DOM プロトタイプオブジェクトに Symbol.toStringTag プロパティを追加するようになりました。例えば、HTMLButtonElement の Symbol.toStringTag プロパティにアクセスするには次のようにします。
| ECMAScript® 2027 Language Specification # sec-symbol.tostringtag |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 2025年11月13日 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.