Appearance
运算符
算术运算符
用于数学计算,包括加(+)、减(-)、乘(*)、除(/)、取余(%)等。
比较运算符
用于比较两个值之间的大小或者是否相等,包括大于(>)、小于(<)、大于等于(>=)、小于等于(<=)、等于(==或===)、不等于(!=或!==)等。
使用
==
和!=
如果它们类型不同,则进行类型转换后再比较;jsconsole.log(10 == '10') // 输出 true console.log(10 != '10') // 输出 false
使用
===
和!==
不会进行类型转换;jsconsole.log(10 === '10') // 输出 false console.log(10 !== '10') // 输出 true
逻辑运算符
用于对逻辑表达式进行求值,包括与(&&)、或(||)、非(!)等。
||
第一项为真则返回第一项,否则返回第二项;jsconsole.log(0 && 20) // 输出 0 console.log(10 && 20) // 输出 20
&&
第一项为真则返回第二项,否则返回第一项;jsconsole.log('Hello' || 'Word') // 输出 "Hello" console.log('' || 'Word') // 输出 "Word"
条件运算符
也叫三元运算符,用于根据某个条件进行赋值,语法格式为:condition ? exprIfTrue : exprIfFalse。
js
10 ? 'hello' : 'word' // hello
Object.is
Object.is
来进行相等判断时,一般情况下和 ===
判断相同,它处理了一些特殊的情况。
Object.is
方法可以正确地比较+0 和-0 的相等性,而===
和==
不行。jsconsole.log(Object.is(+0, -0)) // 输出 false console.log(+0 === -0) // 输出 true console.log(+0 == -0) // 输出 true
Object.is
方法可以正确地比较 NaN 的相等性,而===
和==
不行。jsconsole.log(Object.is(NaN, NaN)) // 输出 true console.log(NaN === NaN) // 输出 false console.log(NaN == NaN) // 输出 false