JavaScriptプログラムに関する各種メモ書き

JavaScript の Symbol.for() とは?

● Symbol()

Symbol("mySymbol") と Symbol.for("mySymbol") は似ていますが、実際には異なる動作をします。 この違いは、シンボルがどのように作成され、格納されるかに関係しています。

Symbol("mySymbol"): これは毎回新しいユニークなシンボルを生成します。 たとえ同じ文字列を使って複数回呼び出しても、それぞれの呼び出しで異なるシンボルが生成されます。

let sym1 = Symbol("mySymbol");
let sym2 = Symbol("mySymbol");

console.log(sym1 === sym2); // false

● Symbol.for()

Symbol.for("mySymbol"): これはグローバルシンボルレジストリを使用してシンボルを作成または取得します。 同じ文字列で Symbol.for を呼び出すと、同じシンボルが返されます。

let sym1 = Symbol.for("mySymbol");
let sym2 = Symbol.for("mySymbol");

console.log(sym1 === sym2); // true
No.2442
01/14 08:40

edit