!= (不等于)
!= 是松散的不等于运算符。
它在比较两个值时,会先进行类型转换(type coercion),然后再比较值是否不相等。
如果两个值在类型转换后不相等,则返回 true,否则返回 false。
例如:
5 != '5' // false,因为 '5' 会被转换成数字 5,然后 5 == 5 为 true,取反后为 false 5 != 10 // true,因为 5 和 10 不相等 'abc' != 'def' // true,因为字符串 'abc' 和 'def' 不相等
!== (严格不等于)
!== 是严格不等于运算符。
它在比较两个值时,不会进行类型转换,如果两个值类型不同,就直接返回 true。
只有当两个值的类型相同且值也不相等时,才返回 true,否则返回 false。
例如:
5 !== '5' // true,因为类型不同(一个是数字,一个是字符串) 5 !== 10 // true,因为 5 和 10 值不相等 'abc' !== 'abc' // false,因为字符串 'abc' 和 'abc' 完全相等