// Create a symbol
const sym1 = Symbol();
const sym2 = Symbol('sym2');
//console.log(typeof sym2);
//console.log(Symbol('123') === Symbol('123'));
//console.log(`Hello ${sym1.toString()}`);
// Unique object keys
const KEY1 = Symbol();
const KEY2 = Symbol('sym2');
const myObj = {};
myObj[KEY1] = 'Prop1';
myObj[KEY2] = 'Prop2';
myObj.key3 = 'Prop3';
myObj.key4 = 'Prop4';
console.log(myObj[KEY1]);
console.log(myObj[KEY2]);
// Symbols are not enumerable in for...in
for(let i in myObj) {
console.log(`${i}: ${myObj[i]}`);
}
// Symbols are ignored by json.stringify
console.log(JSON.stringify({key: 'prop'}));
console.log(JSON.stringify({[Symbol('sym1')]: 'prop'}));