// 原始数据类型Symbol,表示是独一无二的值
// 最大用途:用来定义对象的私有变量
const name = Symbol('Tom')
const name2 = Symbol('Tom')
console.log(name === name2) // false
let sy = Symbol('sy')
console.log(sy) // Symbol(sy)
let obj = {
// 赋值时需要使用[变量名]
[sy]: 'sym'
}
console.log(obj) // {Symbol(sy): "sym"}
// 用Symbol定义的对象中的变量,取值时一定要用[变量名]
console.log(obj[sy]) // sym
// 注意:Symbol类型是数据没办法遍历
for(let key in obj){
console.log(key) // 没有输出
}
// 获取Symbol声明的属性(作为对象的key)
// 方法一:Object.getOwnPropertySymbols(obj)
let s = Object.getOwnPropertySymbols(obj)
console.log(s) // [Symbol(sy)]
// 方法二:Reflect.ownKeys(obj)
let m = Reflect.ownKeys(obj)
console.log(m) // [Symbol(sy)]
ES6 - Symbol
最新推荐文章于 2024-07-09 21:31:30 发布