Closed azl397985856 closed 4 years ago
面试 结果 = true
做法:改写 String
原型上的 valueOf
方法让它始终返回 菜狗
,然后把相等式的一边换成 String
对象;
原理:==
比较对象和基本类型的时候,会尝试把对象转换成基本类型(一般先尝试调用 valueOf
再尝试调用 toString
);
String.prototype.valueOf = () => '菜狗';
new String('我') == '菜狗' // true
不过题目中是全等,这种解法似乎有点偏离题意。
想到的第二种方法是障眼法哈哈。
原理:
(() => '菜狗')
`我` === '菜狗'
@suukii 是不是也可以借助编译的力量
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
你还在为自己不等于菜狗而发愁吗
console.log=e=>!e;
console.log('我' === '菜狗')