Symbol数据类型

// 此类型代表着数据的唯一性 相当一个index标识

// 特点1:唯一性 即使同一个变量生成的 也不相等
   let id1 = Symbol(1)
   let id2 = Symbol(1)
   console.log(id1 == id2) // false
   
// 特点2:隐藏性 
   for in ,,, ovject.keys()不能访问
   也有能够访问的方法 Object.getOwnPropertySymbols方法会返回一个数组

// 虽然保证了唯一性 但是我们不排除希望能够多次使用同一个symbol值的情况
   因此官方提供全局注册登记的方法 Symbol.for()
   let id1 = Symbol.for(1)
   let id2 = Symbol.for(1)
   console.log(id1 == id2) // true

// 或者通过Symbol.keyFor()去获取参数值
   console.log(Symbol.keyFor(id1))

你可能感兴趣的:(javascript)