三种方式:
- === :严格相等
- == :宽松相等
Object.is()
宽松相等
在比较前将两个被比较的值转换为相同类型,转换后的比较方式等同于严格相等的比较方式,并对 NaN
、-0
和 +0
进行特殊处理(故 NaN != NaN
,且 -0 == +0
);
严格相等
与宽松相等的比较方式相同,但不进行类型转换;
Object.is()
既不对 NaN
、-0
和 +0
特殊处理,也不执行类型转换。
相等操作符满足交换律。
三种方式:
Object.is()
宽松相等
在比较前将两个被比较的值转换为相同类型,转换后的比较方式等同于严格相等的比较方式,并对 NaN
、-0
和 +0
进行特殊处理(故 NaN != NaN
,且 -0 == +0
);
严格相等
与宽松相等的比较方式相同,但不进行类型转换;
Object.is()
既不对 NaN
、-0
和 +0
特殊处理,也不执行类型转换。
相等操作符满足交换律。