javascript类型转换中需要注意的坑

763 阅读1分钟

更多内容,请访问我的 个人博客


数字型转换

  • Number(undefined) 转换为 NaN
> Number(undefined)
NaN
  • Number(null) 转换为 0
> Number(null)
0
  • Number(true) 转换为 1
> Number(true)
1
  • Number(false) 转换为 0
> Number(false)
0
  • Number(string) 先去掉字符串首尾空格。剩余字符串如果为空,则转换为 0 。如果剩余字符串为纯数字字符串,则转换为对应 数字 。如果剩余字符串还有其他字符,则转换为 NaN
> Number(" 123 ")
123

> Number(" 123潘高的小站 ")
NaN

布尔型转换

  • Boolean(0) 直观上为“空”的值(如 0、空字符串、null、undefined 和 NaN)将变为 false
> Boolean(0)
false

> Boolean("")
false

> Boolean(null)
false

> Boolean(undefined)
false

> Boolean(NaN)
false
  • Boolean("潘高的小站") 其他情况都是 true
> Boolean("潘高的小站")
true

> Boolean("0")
true

注意: Boolean("0") 转化为 true ,并不是 false 。因为 "0" 是字符串,不是数字,并且不是空字符串,只有 "" 这样的空字符串才是 false 。


更多编程教学请关注公众号:潘高陪你学编程

image