基本数据类型:
undefined
nul
boolean
string
number
object
ES6 引入了一种新的原始数据类型 Symbol,表示独一无二的值。
{// 声明let a1 = Symbol();let a2 = Symbol();console.log(a1 === a2); // falselet a3 = Symbol.for("a3");let a4 = Symbol.for("a3");console.log(a3 === a4); // true}{const a5 = Symbol("a5");console.log(Symbol.keyFor(a5)); // undefinedconst a6 = Symbol.for("a5");console.log(Symbol.keyFor(a6)) // a5}{let a1 = Symbol.for("abc");let obj = {[a1]: "123",abc: 345,c: 456,};console.log("obj", obj); // obj { abc: 345, c: 456, [Symbol(abc)]: '123' }for (let [key, value] of Object.entries(obj)) {console.log("let of", key, value);// let of abc 345// let of c 456}Object.getOwnPropertySymbols(obj).forEach(function (item) {console.log(obj[item]); // 123});Reflect.ownKeys(obj).forEach(function (item) {console.log("ownkeys", item, obj[item]);// ownkeys abc 345// ownkeys c 456});}
