symbol

1、symbol的介绍与创建

1)js的数据类型:USONB(you are so niubility)

u : undefied
s : string、symbol
o : object
n : null、number
b : boolean

2) Symbol特点
  • Symbol 的值是唯一的,用来解决命名冲突的问题
  • Symbol 的值不能与其他数据进行运算
  • Symbol 定义的对象属性不能使用 for…in循环遍历,但是可以使用 Reflect.ownkeys 来获取对象的所有键名
3) 创建Symbol
//1、Symbol()
let s = Symbol();
console.log(s,typeof s);//Symbol() 'symbol'
let s2 = Symbol('小红');
console.log(s2)//Symbol(小红)
let s3 = Symbol('小红');
console.log(s2 === s3)//false

//2、Symbol.for()
let s4 = Symbol.for('小红');
console.log(s4)//Symbol(小红)
let s5 = Symbol.for('小红');
console.log(s4 === s5)//true

2、symbol 创建对象属性

let game = {
	up:function(){
		console.log(123)
	},
	name:'俄罗斯方块',
	down:function(){
		console.log(456)
	}
};
//方法1
//声明一个对象
let methods = {
	up:Symbol(),
	down:Symbol()
};
game[methods.up] = function(){
	console.log('我可以改变形状')
}
game[methods.down] = function(){
	console.log('我可以快速下降')
}
console.log(game)

//方法二
let youxi = {
	name:"狼人杀",
	[Symbol('say')]:function(){
		//Symbol('say')是一个表达式,是一个动态的,必须要用中括号
		console.log("我可以发言")
	},
	[Symbol('zibao')]:function(){
		console.log("我可以自曝")
	},
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值