数值 → 其他数据类型
let num = 123;
数值 → 字符串
结果为由该数值组成的字符串
String(num) // 结果为 '123'
String(NaN) // 结果为 'NaN'
num + ''
num.toString();
数值 → 布尔值
- 0 , -0 , NAN 转为布尔值后为 false
- 其他数值转为布尔值后为 true
Boolean(num )
// 取反再取反
!!num
字符串 → 其他数据类型
let str = '10'
字符串 → 数值
Number(str )
- 如果字符串中是纯数字,则直接将其转换为数字。
- 如果字符串中有非数字的内容,则转换为NaN。
- 如果字符串是一个空串或者是一个全是空格的字符串,则转换为0。
字符串 → 布尔值
- 空字符串转为布尔值后,值为 false
- 其余字符串转为布尔值后,值是 true
Boolean(str)
// 取反再取反
!!str
布尔值 → 其他数据类型
布尔值 → 数值
Number(true) // 结果为:1
Number(false) // 结果为:0
布尔值 → 字符串
- true 转为字符串为
'true'
- false 转为字符串为
'false '
String(true)
true + ''
true.toString();
null → 其他数据类型
null → 数值
Number(null) // 结果为:0
null → 字符串
String(null) // 结果为 ‘null’
null + ''
null.toString();
null → 布尔值
Boolean(null) // 结果为 false
// 取反再取反
!!null
undefined → 其他数据类型
undefined → 数值
Number(undefined) // 结果为:NaN
undefined → 字符串
String(undefined) // 结果为 ‘undefined’
undefined + ''
undefined.toString();
undefined → 布尔值
Boolean(undefined) // 结果为 false
// 取反再取反
!!undefined