null==undefined 面试官:发生了隐式转换,所以相等.我:???

99 阅读1分钟

null==undefined //true

以下类容来自JavaScript高级程序设计第4版71页

==和!==,这两个操作符类型不一样是会进行强制类型转换.并遵循以下规则

  • 如果任意一个是boolean,则将其转换成数值比较;

  • 如果一个是字符串,一个是数值,会尝试把字符串转换为数值;

  • 如果是对象,另一个不是,则调用valueOf()方法取得原始值;

但是,在进行比较时会遵循以下规则:

  • null和undefined相等;

  • null和undefined不能转换成其他类型的值再进行比较;

  • ...