JavaScript 中的数据类型和类型转换是编程中的基础概念。下面我将通过一些示例来详细说明 JavaScript 中的数据类型和类型转换。
数据类型
JavaScript 中有以下几种基本数据类型:
-
字符串(String):文本数据,用单引号、双引号或反引号包围。
let str = "Hello, World!"; -
数字(Number):整数或浮点数。
let num = 42; let floatNum = 3.14; -
布尔值(Boolean):只有两个值,
true或false。let bool = true; -
空值(Null):表示一个空值。
let nullValue = null; -
未定义(Undefined):变量未被赋值时的默认值。
let undefinedVar; -
符号(Symbol):在 ES6 中引入,用于创建唯一的标识符。
let sym = Symbol("description"); -
大整数(BigInt):在 ES2020 中引入,用于表示大于
2^53 - 1的整数。let bigInt = BigInt(9007199254740991);
类型转换
JavaScript 中的类型转换可以分为两种:隐式类型转换和显式类型转换。
隐式类型转换
隐式类型转换发生在 JavaScript 运行时,当操作数类型不匹配时,JavaScript 会自动尝试转换它们。
// 字符串与数字相加
let result = "5" + 5; // 结果是字符串 "55"
// 数字与布尔值相加
result = 5 + true; // 结果是数字 6,因为 true 被转换为 1
// 字符串与布尔值相加
result = "The number is: " + false; // 结果是字符串 "The number is: false"
显式类型转换
显式类型转换需要开发者明确指定转换的类型。
// 使用 Number() 函数将字符串转换为数字
let numStr = "123";
let num = Number(numStr); // num 是数字 123
// 使用 parseInt() 函数将字符串转换为整数
let intStr = "456";
let int = parseInt(intStr); // int 是数字 456
// 使用 parseFloat() 函数将字符串转换为浮点数
let floatStr = "78.9";
let float = parseFloat(floatStr); // float 是数字 78.9
// 使用 String() 函数将数字转换为字符串
let num = 123;
let str = String(num); // str 是字符串 "123"
// 使用 Boolean() 函数将其他类型转换为布尔值
let bool = Boolean(""); // 空字符串转换为 false
let bool2 = Boolean(0); // 数字 0 转换为 false
在进行类型转换时,需要注意的是,某些转换可能会导致数据丢失或不准确的结果。例如,将非数字字符串转换为数字时,如果字符串中包含非数字字符,结果将是 NaN(Not a Number)。因此,在进行类型转换时,应该始终检查转换是否成功,以及是否得到了预期的结果。