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
  • 630,263
  • 148
  • 957
  • 1,375
Alexander Mills
  • 90,741
  • 139
  • 482
  • 817

0 Answers0