11.JavaScript的数据类型转换

JavaScript是一种动态类型语言,变量没有类型限制。可以随时赋予任意值。

JavaScript中的类型转化分为隐式转换和强制转化

1.隐式转换 (自动转化)##

'4' - '3' // 1

上面的虽然是两个字符串的运算,但是运算符会将两边的字符串转化为数值,进行运算。

2.强制转化

在需要转换为的变量前面加上目标函数即可,如Number()、toString()、String()、Boolean()

// 数值:转换后还是原来的值
Number(324) // 324

// 字符串:如果可以被解析为数值,则转换为相应的数值
Number('324') // 324

// 字符串:如果不可以被解析为数值,返回NaN
Number('324abc') // NaN

// 空字符串转为0
Number('') // 0

// 布尔值:true 转成1,false 转成0
Number(true) // 1
Number(false) // 0

// undefined:转成 NaN
Number(undefined) // NaN

// null:转成0
Number(null) // 0

String(123) // "123"
String('abc') // "abc"
String(true) // "true"
String(undefined) // "undefined"
String(null) // "null"

Boolean(undefined) // false
Boolean(null) // false
Boolean(0) // false
Boolean(NaN) // false
Boolean('') // false