シンボルはJSのデータ型です。通常、JavaScript で一意のキーと非表示のオブジェクト キーを作成するために使用されます。
グローバル シンボル レジストリ:グローバル シンボル レジストリは、Symbol.for を使用して作成されたシンボルが保存されるスペースです。
構文
以下の例では、「john」は記述子であり、key_one と key_two はシンボルです。
const key_one = Symbol("john"); //local symbol const key_two = Symbol.for("john"); //global symbol console.log(typeof key_one) // symbol console.log(typeof key_two); //symbol
前に述べたように、たとえローカルシンボル内の記述子が同じであっても、すべてのシンボルは一意です。検証してみましょう。
アプリ
const key_one = Symbol("john"); const key_two = Symbol("john"); key_one == key_two // false key_one === key_two //false
const key_one = Symbol.for("foo"); const key_two = Symbol.for("foo"); console.log(key_one === key_two); //true
アプリ
const zero = Symbol("0"); const temp = { 0:"zero", 1:"one", [zero]:"zero", 1.1:"one one", } const keys = Object.keys(temp); //["0","1","1.1"] console.log(temp[1.1]) // one one console.log(Object.getOwnPropertySymbols(temp)) // [Symbol(0)]
Symbol.keyFor(symbol) を使用すると、グローバル シンボルの記述子を取得できます
const key_one = Symbol.for("john") Symbol.keyFor(key_one) // "john" typeof Symbol.keyFor(key_one) //string
dev.to と linkedin ? でサポートしてください。 TY?
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3