在 JS 中类型转换只有三种情况,分别是:
- 转换为布尔值
- 转换为数字
- 转换为字符串
原始值 | 转换目标 | 结果 |
---|---|---|
number | boolean | 除了0、-0、NaN都为true |
string | boolean | 除了空字符串都为true |
undefined、null | boolean | false |
numer | string | 1 => ‘1’ |
array | string | [1,2] => ‘1,2’ |
string | number | ‘1’ => 1,‘a’ => NaN |
null | nyumber | 0 |
array | number | 空数组为0,存在一个元素且为数字转数字,其他情况为NaN |
symbol | number | 报错 |
转为boolean值
在条件判断时,除了undefined
,null
, alse
,NaN
,''
,0
,-0
,其他所有值都转为true
,包括所有对象。