Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【JavaScript ECMAScript】Symbol::Symbol.prototype[Symbol.toPrimitive]インスタンスメソッドの使い方

Symbol.prototype[Symbol.toPrimitive]()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

Symbol.prototypeSymbol.toPrimitiveメソッドは、Symbolオブジェクトがプリミティブ値に変換される際の振る舞いを定義し、その変換を実行するメソッドです。JavaScriptの内部でオブジェクトがプリミティブ値(例えば文字列や数値)として扱われる必要があるときに呼び出される特殊なメソッドであり、Well-Known Symbolの一つであるSymbol.toPrimitiveシンボルによって指定されます。

具体的には、Symbolプリミティブ値をObject()関数でラップして作られたSymbolラッパーオブジェクト(例:Object(Symbol('description')))が、文字列への変換(String()関数使用時など)や数値への変換(Number()関数使用時など)を試みられた際に、このメソッドが自動的に呼び出されます。このメソッドが実行されると、Symbolラッパーオブジェクトが内部に保持している、基となるSymbolプリミティブ値そのものを返します。

この機能により、Symbolオブジェクトが、予期せぬ型変換エラーを起こすことなく、一貫した形でプリミティブ値として扱われることが保証されます。開発者が直接このメソッドを呼び出すことは稀ですが、JavaScriptエンジンがSymbolオブジェクトの型変換ルールを正確に適用するために不可欠な役割を担っています。

公式リファレンス: Symbol.prototype[Symbol.toPrimitive]()

構文(syntax)

1const symbolObject = Object(Symbol('description'));
2const primitiveValue = symbolObject[Symbol.toPrimitive]('string');

引数(parameters)

引数なし

引数はありません

戻り値(return)

symbol

このメソッドは、Symbolオブジェクト自身を返します。

関連コンテンツ

関連プログラミング言語