Symbol は、JavaScript で不変の一意の識別子として使用されます。主な用途には、オブジェクトのプライベート プロパティとして、クラス メンバーの識別、キーのマッピング、ジェネレーター関数の戻り値、その他の組み込みオブジェクト プロパティとして使用されます。
JavaScript での Symbol の使用
Symbol は JavaScript における一意の値の型であり、本質的には です。不変の一意の識別子。その主な用途は次のとおりです。
1. オブジェクトのプライベート プロパティとして
#シンボルは、オブジェクトのプライベート プロパティとして使用できます。標準 for...in
ループまたは Object.keys()
メソッド。そのため、機密データの保存や内部状態の管理に最適です。
サンプルコード:
<code class="js">const user = { [Symbol("secretData")]: "Confidential information" };</code>
2. クラスメンバーの識別子として
シンボルは、オブジェクトを識別するために使用できます。クラスのメンバー (メソッドやプロパティなど)。これにより、偶発的な上書きや競合が防止されます。
サンプルコード:
<code class="js">class Person { static [Symbol("getName")]() { return "John Doe"; } }</code>
3. マッピングキーとして
シンボルをマッピングとして使用できます (Map またはWeakMap) キー。これは、より読みやすく保守しやすいコードを作成する場合に役立ちます。
サンプルコード:
<code class="js">const myMap = new Map(); myMap.set(Symbol("key1"), "value1");</code>
4. ジェネレーター関数の戻り値として、
Symbol をジェネレーター関数 戻り値は、反復可能なオブジェクトの一意の識別子を表します。
サンプルコード:
<code class="js">function* myGenerator() { yield 1; yield 2; } const mySymbol = Symbol.iterator; const myIterator = myGenerator()[mySymbol]();</code>
5. 他の組み込みオブジェクトのプロパティとして
Symbol も使用されます。他の組み込みオブジェクトのプロパティ。 例:
Symbol.iterator
: オブジェクト Symbol のデフォルトの反復子を表します。 hasInstance
: オブジェクトが指定されたクラスのインスタンスであるかどうかを確認するために使用されますSymbol.species
: オブジェクトのコンストラクターを返します以上がjsでシンボルは何に使われますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。