类型转换

一个小时学会JavaScript
2023-05-24 23:18 · 阅读时长3分钟
小课

类型转换是指将一种数据类型转换为另外一种数据类型,通常情况下,运算符和函数会自动将赋予它们的值转换为正确的类型,比如 

"6" / "2" // 结果是 3,在进行除法运算时,自动将字符串类型转换为数字类型

但是在某些情况下,可能我们需要显式的进行类型转换。

字符串类型

使用 String(value) 将 value 转换为字符串类型,或者使用反引号。

let value = true
console.log(typeof(value))
let str1 = `${value}`
console.log(typeof(str1))
let str2 = String(value)
console.log(typeof(str2))
数字类型

使用 Number(value) 将 value 转换为数字类型,当无法将内容转换为数字时,转换结果为NaN,另外一些固定的转换规则如下

  • undefined  ➟  NaN
  • null  ➟ 0   
  • true 和 false ➟ 1 和 0
let value = "123"
console.log(typeof(value))
let number1 = Number(value)
console.log(typeof(number1))
let number2 = Number("abc")
console.log(number2)

一个常用的转换场景是将两个字符串转换为数值之后再进行加法运算,如果不进行类型转换,得到的是两个字符串拼接后的字符串。

let num1 = "123", num2 = "456"
console.log(num1 + num2)
console.log(Number(num1) + Number(num2))
布尔类型

在逻辑运算中会将表达式自动转换为布尔类型,我们也可以使用Boolean(value) 将 value 转换为布尔类型,转换规则如下

  • 直观上为空的值,比如 0、空字符串、null、undefined 和 NaN 将变为 false。
  • 其他值变成 true。
let value = "Hello JavaScript"
console.log(typeof(value))
value = Boolean(value)
console.log(value)
console.log(typeof(value))
JavaScript类型转换