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