javascript ==和===对照

===运算符推断相称的流程是如何的

假如两个值不是雷同范例,它们不相称
假如两个值都是null或许都是undefined,它们相称
假如两个值都是布尔范例true或许都是false,它们相称
假如个中有一个是NaN,它们不相称
假如都是数值型而且数值相称,他们相称, -0即是0
假如他们都是字符串而且在雷同位置包括雷同的16位值,他它们相称;假如在长度或许内容上不等,它们不相称;两个字符串显现效果雷同然则编码差别==和===都以为他们不相称
假如他们指向雷同对象、数组、函数,它们相称;假如指向差别对象,他们不相称
==运算符推断相称的流程是如何的

假如两个值范例雷同,根据===比较要领举行比较
假如范例差别,运用以下划定规矩举行比较
假如个中一个值是null,另一个是undefined,它们相称
假如一个值是数字另一个是字符串,将字符串转换为数字举行比较
假如有布尔范例,将true转换为1,false转换为0,然后用==划定规矩继承比较
假如一个值是对象,另一个是数字或字符串,将对象转换为原始值然后用==划定规矩继承比较
其他一切状况都以为不相称

    原文作者:silence
    原文地址: https://segmentfault.com/a/1190000004976877
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞