1. 相等运算符 ==
和全等运算符 ===
:
==
用于比较两个值是否相等,会进行类型转换。===
用于比较两个值是否严格相等,不会进行类型转换。
console.log(1 == '1'); // 输出 true,类型转换后相等
console.log(1 === '1'); // 输出 false,类型不同不相等
2. 不等运算符 !=
和不全等运算符 !==
:
!=
用于比较两个值是否不相等,会进行类型转换。!==
用于比较两个值是否不严格相等,不会进行类型转换。
console.log(1 != '1'); // 输出 false,类型转换后相等
console.log(1 !== '1'); // 输出 true,类型不同不相等
3. 大于运算符 >
、小于运算符 <
、大于等于运算符 >=
、小于等于运算符 <=
:
console.log(5 > 3); // 输出 true
console.log(5 < 3); // 输出 false
console.log(5 >= 5); // 输出 true
console.log(5 <= 3); // 输出 false
4. 三元条件运算符 ? :
:
let x = 10;
let result = x > 5 ? 'Greater than 5' : 'Less than or equal to 5';
console.log(result); // 输出 'Greater than 5'
5. Object.is()
方法:
Object.is()
方法用于比较两个值是否严格相等,类似于===
,但有一些特殊情况。
console.log(Object.is(1, '1')); // 输出 false
console.log(Object.is(NaN, NaN)); // 输出 true
注意:
Object.is()
方法与原来的比较操作符“===” 、 “==”的区别是什么?
==
会在比较时进行类型转换。
===
是严格判断,用于比较两个值是否严格相等,不会进行类型转换(类型不同则会返回false)。
Object.is()
是在三等号判等的基础上特别处理了NaN、-0、+0,保证-0 和 +0不再相同,但object.is(NaN, NaN)会返回true。