用户:
QC一二二一查看:2 回复:2 评论:2 创建时间:2022-06-24T14:46:18
az,我的五子棋地图,在初始化玩家的id属性时,初始值是''
而这样会引起很多的bug…………
例如:无法读取entities的未定义的值
但是我把初始值换成Symbol('')的时候
报错没了,代码正常了~!
Symbol是一种数据形式,他是在ES6中新加入的
Symbol数据不能天然生成,不像String那样直接用双引号就可以生成,他要用Symbol()来把数据转换成Symbol形式
Symbol他的特点就是无法与任何值相等,除了本身变量
例如:
Symbol('')==Symobl('')//console:false
这不是相等的吗?都是空字串符
Symbol('ddd')==Symbol('ddd')//console:false
好吧,这也不相等?
那我不信了!
var symbol = Symbol('ddd');
console.log(symbol==symbol)//console:true
啊,终于相等了()()
本以为他很少用到,结果你这个地图就必须用到!)
点赞1
评论