Symbol.prototype.toString()

toString() メソッドは、指定された Symbol オブジェクトを表す文字列を返します。

試してみましょう

構文

Symbol().toString()

返値

指定された Symbol オブジェクトを表す文字列です。

解説

Symbol オブジェクトは Object オブジェクトの toString メソッドをオーバーライドします。 Object.prototype.toString() を継承していません。 Symbol オブジェクトでは toString メソッドはオブジェクトの文字列表現を返します。

文字列への型変換はない

シンボルに対しては toString() を呼び出すことができるため、文字列への型変換はありません。

js
Symbol("foo") + "bar"; // TypeError: Can't convert symbol to string

toString() の使用

js
Symbol("desc").toString(); // "Symbol(desc)"

// ウェルノウンシンボル
Symbol.iterator.toString(); // "Symbol(Symbol.iterator)

// グローバルシンボル
Symbol.for("foo").toString(); // "Symbol(foo)"

仕様書

Specification
ECMAScript Language Specification
# sec-symbol.prototype.tostring

ブラウザーの互換性

BCD tables only load in the browser

関連情報