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

本文最后更新于:2024年6月17日 下午

数字型转换

  • Number(undefined) 转换为 NaN
1
2
3
> Number(undefined)

NaN
  • Number(null) 转换为 0
1
2
3
> Number(null)

0
  • Number(true) 转换为 1
1
2
3
> Number(true)

1
  • Number(false) 转换为 0
1
2
3
> Number(false)

0
  • Number(string) 先去掉字符串首尾空格。剩余字符串如果为空,则转换为 0 。如果剩余字符串为纯数字字符串,则转换为对应 数字 。如果剩余字符串还有其他字符,则转换为 NaN
1
2
3
4
5
6
7
8
> Number("   123   ")

123


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

NaN

布尔型转换

  • Boolean(0) 直观上为“空”的值(如 0、空字符串、null、undefined 和 NaN)将变为 false
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
> Boolean(0)

false


> Boolean("")

false


> Boolean(null)

false


> Boolean(undefined)

false


> Boolean(NaN)

false
  • Boolean(“潘高的小站”) 其他情况都是 true
1
2
3
4
5
6
7
8
> Boolean("潘高的小站")

true


> Boolean("0")

true

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


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

image



如果这篇文章对你有帮助,或者想给我微小的工作一点点资瓷,请随意打赏。
潘高 微信支付

微信支付

潘高 支付宝

支付宝


javascript类型转换中需要注意的坑
https://blog.pangao.vip/javascript类型转换中需要注意的坑/
作者
潘高
发布于
2021年10月29日 晚上
更新于
2024年6月17日 下午
许可协议