类型转换
本文最后更新于 37 天前,其中的信息可能已经过时,如有 错误/失效 请发送邮件到wenwanfj@gmail.com或留言。

类型转换是将某个数据转换为其他类型的数据的操作。

可以参考表格

字符串操作环境数字运算环境逻辑运算环境对象操作环境
undefined“undefined”NaNfalseError
null“null”0falseError
非空字符串不转换字符串对应的数字值True
空字符串不转换0falseString
0“0”不转换falseNumber
NaN“NaN”不转换falseNumber
Infinity“Infinity”不转换trueNumber
Number.POSITIVE_INFINITY“Infinity”不转换trueNumber
Number.NEGATIVE_INFINITY“-Infinity”不转换trueNumber
Number.MAX_VALUE“1.7976931348623157e+308”不转换trueNumber
Number.MIN_VALUE“5e-324”不转换trueNumber
其他所有数字“数字的字符串值”不转换trueNumber
true“true”1不转换Boolean
false“false”0不转换Boolean
对象toString()value()或toString()或NaNtrue不转换
SymboltoString()ErrortrueSymbol
BigInttoString()不转换除0n都是trueBigInt

显示类型转换

转换方法:

  • 转数字:Number()
  • 转字符串:String()
  • 转布尔值:Boolean()
  • 转字符:Symbol()基本没有该需求
  • 转大数字:BigInt()

常见需求是在数字、布尔值、字符串三者之间进行转换

let a = 1

let r1 = String(a) // 将a转换为字符串
let r2 = Boolean() // 将a转换为布尔值

let b = "123"

let r3 = Number(b) // 将b转换为数字,请注意,如果字符串内不全是数字字符时会转换成坏值NaN
let r4 = Boolean(b) // 将b转为布尔值

// 布尔值转换为数字时,true转为1 false转为0,转为字符串时相当于给对应的值加上引号

以上通过对应的数据类型的接口转换的方式叫显示类型转换

隐式类型转换

隐式转换是在使用非上面的接口转换时的叫法,通常这些转换情况容易被人忽略,所以叫隐式转换

1. 转数字

let a = '123' // 此时a是字符串,而不是数字
a++  // 此时 a = 124,

同时在比较大于、小于、小于等于、大于等于时,有数字参与的比较,也会将另外一个非数字转换为数字

2.转字符串

当有字符串参与的加法运算时,非字符串数据会被转换成字符串,然后将两个字符串合并

let a = "123"
let b = true
let c = a + b
// c = "123true"
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇