symbol 原始数据类型
表示的是独一无二的值,意味着内存地址是不相等的
最大的用途:用来定义对象的私有变量
const name = Symbol('name');
const name2 = Symbol('name');
console.log(name === name2)//false
name和name2是不相等的
let s1 = Symbol('s1');
console.log(s1);
let obj = {};
obj[s1] = '小玉米';
//获取 console.log(obj[s1])
//如果使用Symbol定义的对象中的变量,取值时一定要用[变量名]
Symbol定义是没办法遍历的,不易操作,所以不经常使用
console.log(obj[s1])
简单定义
let obj ={
[s1]:'小玉米'
}
获取Symbol声明的属性名(作为对象的key)
let s = Object.getOwnPropertySymbols(obj);
console.log(s);
let m = Reflect.ownKeys(obj);
console.log(m);
网友评论