JS类型转换(记录)

57 阅读1分钟

数字类型

数字转换.png

字符串

几乎所有数据类型转换为字符串的结果都是加外层引号,对象除外。原因时Object.property.toString方法时用来检测数据类型的。

  • 显示转换:String(value)| [value].toString()
  • 隐式转换:+ 加号除了数学运算,还会产生字符串拼接。
//"+" 号实现字符串拼接的过程

let a = 10 + null + true + [] + undefined + '开饭了' + null + [] + 6 + false
log(a);  //10 + 0 + 1 + "" ([]先转字符串,然后转数值,产生了字符串拼接)+ undefined +...
//结果:"11undefined开饭了null6false"

//解析:关键--遇到字符串 + 才发挥字符串拼接的作用。
//10 + null  -->10 + 0 (基于Number的数学运算),以下类推。

布尔值

其他类型转换为布尔类型: 只有0、NaN、' '(空字符串)、null、undefined五个值转换为false,其余转换为true 转换方式:

  • Boolean([value])
  • !/ !!(双叹号:取反再取反)
  • 条件判断