Symbol type
物件 key 只能是 string or symbol 2 種類型
Symbols
// id is a new symbol
let id = Symbol();
// id is a symbol with the description "id" for debug purpose
let id = Symbol("id");
// same description but different value
let id1 = Symbol("id");
let id2 = Symbol("id");
alert(id1 == id2); // falseSymbols don’t auto-convert to a string
let id = Symbol("id");
alert(id); // TypeError: Cannot convert a Symbol value to a string
// convert to string
let id = Symbol("id");
alert(id.toString()); // Symbol(id), now it works
// only get description
let id = Symbol("id");
alert(id.description); // id“Hidden” properties
Symbols in a literal
Symbols are skipped by for…in
Global symbols
Symbol.keyFor
System symbols
Last updated