ts学习第四天

79 阅读1分钟

symbol类型 唯一值 let a:symbol = Symbol('s') //可以跟数值类型可以跟字符串类型 let a1:symbol = Symbol('s') // a1和a结果内存地址是不同的

let a:symbol = Symbol.for('x') let a1:symbol = Symbol.for('x') 这样a和a1内存地址是相同的

使用场景:用作对象的属性 let a1:symbol = Symbol(1) let a2:symbol = Symbol(1) let obj = { name: 'zs', [a1]: 111 } console.log(obj)

for(let key in obj) { console.log(key) } for in 中会失效,打印不出key

console.log(Object.keys(obj)) Object.keys也读不到

console.log(Object.getOwnPropertySymbols(obj)) 可以取到,但是只能取到symbol

同时取出来 console.log(Reflect.ownKeys(obj))