- 类似于字符串的数据类型
- 用于解决命名冲突问题
- 不能与其他数据进行运算
- 不能使用for...in循环遍历,使用reflect.ownkeys获取对象的所有键名
创建symbol
let s=symbol();
let s=symbol('收到了');
let s=symbol.for('收到了');
symbol创建对象
向对象添加方法up,down
let game={
XXX
}
let methods={
up:symbol(),
down:symbol()
}
扩展方法
game[mothods.up]=function(){
console.log('变化')
}
game[mothods.down]=function(){
console.log('手动阀')
}
let youxi={
name:'狼人杀',
[symbol('say')]:function(){
console.log('黄日华');
}
[symbol('sdf')]:function(){
console.log('了两年卡')
}
}
取中括号中变量的内容
let a = 'xxx'
let obj = {
[a]:1111 //打印obj,结果为:{xxx:1111}
}
//写法等同于
let a = 'xxx'
let obj = {}
obj[a] = 1111