奇怪的前端面试题
奇怪的面试题,如何是如下if成立
if(a == 1 && a == 2 && a == 3) {console.log("等式成立")
}
这里涉及 == 符号规则和对象转原始类型规则,具体参考下图
了解规则之后,代码很容易写了,重写[Symbol.ToPrimitive]、valueOf、toString三者之一即可
const a = {n:1,valueOf() {retutn this.n++}
};
奇怪的面试题,如何是如下if成立
if(a == 1 && a == 2 && a == 3) {console.log("等式成立")
}
这里涉及 == 符号规则和对象转原始类型规则,具体参考下图
了解规则之后,代码很容易写了,重写[Symbol.ToPrimitive]、valueOf、toString三者之一即可
const a = {n:1,valueOf() {retutn this.n++}
};