0

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?

Bergi
  • 572,313
  • 128
  • 898
  • 1,281
Alexander Mills
  • 78,517
  • 109
  • 412
  • 724

0 Answers0