Using JavaScript, can Symbols be used to create truly private fields on an object?
How do we do it?
This doesn't work, because it's just going to create a string-based key:
let sym = Symbol('foo');
let obj = {};
obj[sym.toString()] = 5;
console.log(obj[sym.toString()]); // 5
so how do we assign and retrieve "private" properties on an object, given that we know the Symbol key?