在 JavaScript 中,数据类型主要分为两种:基本类型和对象类型。
基本类型是指原始数据类型,包括:
- Number:数值型。可以是整数或浮点数。
- String:字符串型。用于表示文本数据。
- Boolean:布尔型。包含两个值:true 或 false。
- Null:空值型。表示一个空或不存在的引用。
- Undefined:未定义型。表示一个未被初始化的变量。
- Object:对象型。复杂的数据类型,由一组键值对组成。
- Symbol:符号型。这是一种新的数据类型(在 ES6 中引入),表示唯一的值。
对象类型主要是指由多个属性组成的复杂数据类型,例如数组、函数等。
要进行类型转换,可以使用以下方法:
- Number():将一个值转换为数值型。如果无法转换,结果将是 NaN(Not a Number)。
- String():将一个值转换为字符串型。
- Boolean():将一个值转换为布尔型。非空字符串、非零数字、非空数组、非空对象、非null值都为 true,其他值都为 false。
- Null():将一个值转换为空值型。只有明确指定 null 值才会被转换。
- Undefined():将一个值转换为未定义型。只有明确指定 undefined 值才会被转换。
- Object():将一个值转换为对象型。几乎所有类型的值都可以转换为对象。
- Symbol():将一个值转换为符号型。只有明确指定 symbol 值才会被转换。
此外,JavaScript 还会自动进行一些类型转换,例如在运算符中使用不同类型的值时,会自动将它们转换为相同的类型进行运算。这种自动转换主要遵循以下规则:
- 字符串类型会优先于数字类型,例如 “100” + 2 会得到 “1002” 而不是 102。
- 如果运算符两边的值都是字符串,则会尝试进行字符串连接,而不是数学运算。
- 如果运算符两边的值都是数字,则会进行数学运算。如果只有一边是数字,则会尝试将另一边的值转换为数字。
@漏刻有时