ホームページ >ウェブフロントエンド >jsチュートリアル >jsでシンボルは何に使われますか?

jsでシンボルは何に使われますか?

下次还敢
下次还敢オリジナル
2024-05-07 18:27:19435ブラウズ

Symbol は、JavaScript で不変の一意の識別子として使用されます。主な用途には、オブジェクトのプライベート プロパティとして、クラス メンバーの識別、キーのマッピング、ジェネレーター関数の戻り値、その他の組み込みオブジェクト プロパティとして使用されます。

jsでシンボルは何に使われますか?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。