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

本文最后更新于:星期四, 十一月 25日 2021, 8:35 早上

数字型转换

  • 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类型转换中需要注意的坑
文章作者:
发布时间:2021年10月29日 - 21:01:22
最后更新:2021年11月25日 - 08:35:59
原始链接:https://blog.pangao.vip/javascript%E7%B1%BB%E5%9E%8B%E8%BD%AC%E6%8D%A2%E4%B8%AD%E9%9C%80%E8%A6%81%E6%B3%A8%E6%84%8F%E7%9A%84%E5%9D%91/
许可协议:署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

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

微信支付

潘高 支付宝

支付宝