1
爲什麼不可能.add()
a Symbol
在WeakSet
?爲什麼WeakSet不能與Symbol一起使用?
var ws = new WeakSet();
var sym = Symbol();
ws.add(sym); //error
爲什麼不可能.add()
a Symbol
在WeakSet
?爲什麼WeakSet不能與Symbol一起使用?
var ws = new WeakSet();
var sym = Symbol();
ws.add(sym); //error
只有對象可以是WeakSet成員,但符號是原始的。如果您確實需要在WeakSet中存儲符號,則可以將其包裝在一個對象中:
let ws = new WeakSet();
let symbol = Symbol();
let wrapped = Object(symbol);
ws.add(wrapped);