No.7 数据类型的转换

大多时候运算符和函数会自动转换将值转换为正确类型称之为类型转换,但是还有一些情况是需要我们手动显式进行类型转换得到租户想要的结果

String 字符串类型

当需要一个值的字符串形式,就会进行 string 类型转换。

let a = true;
let b = String(a);//'true'
1
2

Number 数字类型

在算术函数和表达式中会自动进行number类型转换

console.log('2'*'2'//4
1

也可以手动进行

let a = '123';
let b = Number(a);//123
1
2

转换规则

输入undefined - 输出 NaN

输入null - 输出0

输入true or false - 输出1 or 0

输入string - 输出如果是空字符串组成则返回0,如果字符串不是纯数字则返回NaN

Boolean 布尔类型

转换为boolean类型是最为简单的一种逻辑操作和显式调用都会触发布尔类型的转换

alert(Boolean(1));
alert(Boolean(0));
alert(Boolean('0'));
//猜猜会打印什么
1
2
3
4

任务

下面表达式会出什么结果?

提示+号可作为拼接符

"" + 1 + 0 
"" - 1 + 0 
true + false 
6 / "3" 
"2" * "3" 
4 + 5 + "px" 
"$" + 4 + 5 
"4" - 2 
"4px" - 2 
7 / 0 
" -9\n" + 5 
" -9\n" - 5 
null + 1 
undefined + 1 
1
2
3
4
5
6
7
8
9
10
11
12
13
14