JS == 转换规则

154 阅读1分钟
  1. null == undefined  //true;
  2. number == string // 1.string to number
  3. other == true/false // other to 0/1;
    1.  'ss' == true => false; '111' == true => false; '1' == true => true;
  4. object == number/string //object to 原始值;
    1. object == number // 先object.valueOf(), 若不存在/返回不是原始值,再调用toString, 打底抛异常
    2. object == string //先 object.toString() 若不存在/返回不是原始值 再调用valueOf ,打底抛异常
  5. 其他不同类型之间的比较 均为false;