为什么.add()
Symbol
WeakSet
var ws = new WeakSet();
var sym = Symbol();
ws.add(sym); //error
无法进行{{1}}?
{{1}}
答案 0 :(得分:2)
只有对象可以是WeakSet成员,但符号是基元。如果你真的需要在WeakSet中存储一个符号,你可以将它包装在一个对象中:
let ws = new WeakSet();
let symbol = Symbol();
let wrapped = Object(symbol);
ws.add(wrapped);