【JavaScript ECMAScript】Symbol::Symbol() constructorコンストラクタの使い方
Symbol() constructorコンストラクタの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
Symbol() constructor関数は、JavaScriptにおいて一意で変更不可能なシンボル値を生成する関数です。この関数は、プログラム内で固有の識別子として利用される新しいプリミティブ型であるシンボルを生成するために使用されます。
生成されるシンボル値は、他のどのようなシンボル値とも決して等しくならないという特性を持っています。これは、文字列や数値などの他のデータ型とは異なり、同じ内容で生成しても常に異なる値となることを意味します。この一意性は、主にオブジェクトのプロパティキーとして利用する際に大きなメリットをもたらします。例えば、既存のオブジェクトに新たなプロパティを追加する際、文字列のキーを使うと意図せず既存のプロパティ名を上書きしてしまうリスクがありますが、シンボルをキーとして使用すれば、そのような名前の衝突を確実に防ぐことができます。
Symbol()関数には、オプションで文字列型の引数を渡すことができます。この文字列はシンボルの「説明」として機能し、主にデバッグ目的で利用されます。例えば、コンソールに出力した際にシンボルを区別しやすくするために役立ちますが、この説明文字列が同じであっても、生成されるシンボル値自体が等しくなることはありません。
使用する際は、Symbol()のように直接関数として呼び出してください。JavaScriptの仕様上、new Symbol()のようにnewキーワードを付けて呼び出すことはできず、その場合はエラーが発生しますのでご注意ください。この機能は、オブジェクトに「隠れた」プロパティを追加したい場合や、ライブラリやフレームワーク内で特定の振る舞いを定義するための識別子が必要な場合に特に有用です。
構文(syntax)
1Symbol([description])
引数(parameters)
description = undefined
- description: string | undefined: シンボルを識別するための文字列。省略可能で、省略された場合は
undefinedになります。
戻り値(return)
戻り値なし
戻り値はありません