【JavaScript ECMAScript】Symbol::Symbol.for静的メソッドの使い方
Symbol.for()静的メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
Symbol.for()メソッドは、JavaScriptアプリケーション全体で共有されるシンボルを取得または作成するメソッドです。JavaScriptにおけるシンボルは、他のどのような値とも衝突しない、常に一意で変更不能な値を生成するプリミティブなデータ型です。通常のSymbol()関数を使ってシンボルを作成した場合、毎回新しい一意なシンボルが生成され、たとえ同じ説明文字列を与えても互いに等しくなることはありません。
これに対し、Symbol.for()メソッドは、引数として渡された文字列をキーとして、「グローバルシンボルレジストリ」と呼ばれる特別な領域を検索します。このレジストリは、アプリケーション全体でシンボルを共有するための集中管理システムのようなものです。もし指定されたキーに対応するシンボルがレジストリに既に存在していれば、その既存のシンボルを返します。存在しない場合は、新しくシンボルを作成し、そのシンボルを指定されたキーでグローバルシンボルレジストリに登録してから、その新しいシンボルを返します。
この機能により、アプリケーションの異なる場所から同じキーを指定することで、常に同じシンボルインスタンスを参照し、再利用することが可能になります。主に、複数のモジュール間で共通の秘密のプロパティ名として利用したり、他のコードとの名前の衝突を確実に避けたい定数を定義したりする場合に非常に有用です。
公式リファレンス: Symbol.for()
構文(syntax)
1Symbol.for(key)
引数(parameters)
key
- key: string: 検索または登録するシンボルのキーとなる文字列
戻り値(return)
symbol
グローバルレジストリに登録されたシンボル、または新規に登録されたシンボルを返します。