IT课程 JavaScript基础 039_类型转换
2024-10-30 10:35:21 # 学习 # JavaScript基础

类型转换是将一个数据类型转换为另一个数据类型的过程。类型转换可以是隐式的(由JavaScript引擎自动完成)或显式的(通过编码进行手动转换)。

隐式类型转换(类型强制转换)

在一些操作中,JavaScript会自动进行类型转换,以便进行运算或比较。

示例:

1
2
let num = 5 + "5";
console.log(num); // 输出 "55",数字和字符串相加,数字被转换为字符串

显式类型转换

字符串转换

String() 函数: 将其他类型转换为字符串。

示例:

1
2
3
4
5
6
7
let num = 123;
let str1 = String(num); // String() 函数,可处理 `null` 或 `undefined`
let str2 = num.toString(); // toString() 方法,无法处理 `null` 或 `undefined`
let str3 = num + ""; // 通过与空字符串相加,得到隐式类型转换的字符串
console.log(str1); // 输出 "123"
console.log(str2); // 输出 "123"
console.log(str3); // 输出 "123"
数字转换

Number() 函数: 将其他类型转换为数字。

示例:

1
2
3
4
5
6
7
8
9
10
11
let str1 = "123";
let str2 = "";
let str3 = "aaa";
let num1 = Number(str1);
let num2 = Number(str2);
let num3 = Number(str3);
let num4 = +str1;
console.log(num1); // 输出 123
console.log(num2); // 输出 0
console.log(num3); // 输出 NaN
console.log(num3); // 输出 123,如果使用-号,输出-123

注意:如果字符串不能被解析为有效的数字,结果将是 NaN(Not a Number)。

parseInt()parseFloat() 函数: 将 字符串 转换为整数或浮点数。

示例:

1
2
3
4
5
6
7
let str = "42";
let num = parseInt(str);
console.log(num); // 输出 42

let str = "3.14";
let num = parseFloat(str);
console.log(num); // 输出 3.14
布尔值转换

Boolean() 函数: 将其他类型转换为布尔值。

示例:

1
2
3
4
5
let value = "Hello";
let bool1 = Boolean(value);
let bool2 = !value;
console.log(bool1); // 输出 true,非空字符串转换为 true
console.log(bool2); // 输出 true,使用逻辑非对非布尔值隐式转换(!值为false,再使用!!取正)

注意:0、NaN、null、undefined、空字符串等(空的、没有的、错误的)会转换为 false,其它值、对象会转换为 true。