首页 > 代码库 > JavaScript 的类型判断(一)判断真假

JavaScript 的类型判断(一)判断真假

摘要: 这篇文章的主要目的是帮助自己梳理 JavaScript 学习和使用中的脉络,大部分内容仅仅是学习内容的整理,而非原创,我会在文章最后贴出参考链接。

 

JavaScript 中有6个值为假

  1. false
  2. null
  3. undefined
  4. ‘‘
  5. 0
  6. NaN

 

=== 和 == 的区别

  • ===, 不做类型转换,类型不同的一定不等。
  1. 如果类型不同,就【不相等】
  2. 类型相同,再判断

 

  • ==, 两边值类型不同的时候, 要先进行类型转换, 再比较。
  1. 如果两个值类型相同, 进行 === 比较。
  2. 如果两个值类型不同, 他们可能相同。根据下面规则进行转换再比较:

a. 如果一个是 null, 一个是 undefined, 那么【相等】

b. 如果一个是字符串,一个是数值, 把字符串转换成数值再进行比较

c. 如果一个值是 Boolean 类型,Boolean 转换成数值1,再比较

d. 如果一个是对象, 另一个是数值或字符串,把对象转换成基础类型再比较。对象转换成基础类型,利用它的 toString 或 valueOf 方法。JS 核心内置类,会尝试 valueOf 先于 toString; 例外的是 Data, Data 利用的是 toString 转换.。

e. 任何其他组合, 都【不相等】

 

  • 判断一个值是否是 NaN, 只能用 isNaN() 判断

 

=== 还是 ==

JavaScript 中应该用 "==" 还是 "==="?

 

Reference

1. JavaScript 中2个等号与3个等号的区别

 

JavaScript 的类型判断(一)判断真假