# 如何实现变量a同时等于多个值
通过重新定义对象的隐式转换行为实现
如对隐式转换不了解,推荐阅读类型转换
if(a==1&&a==2){
console.log('yes')
}
1
2
3
2
3
# 定义[ToPrimitive]
let a = {
v:1,
[Symbol.toPrimitive](){
return this.v++
}
}
1
2
3
4
5
6
2
3
4
5
6
# 定义valueOf
let a = {
v:1,
valueOf(){
return this.v++
}
}
1
2
3
4
5
6
2
3
4
5
6
# 定义toString
let a = {
v:1,
toString(){
return this.v++
}
}
1
2
3
4
5
6
2
3
4
5
6