JavaScript 数据类型
在 JavaScript 中,数据类型用于指定变量可以存储的值的类型。JavaScript 支持两大类数据类型:基本数据类型(原始类型)和引用数据类型。
1. 基本数据类型(Primitive Types)
基本数据类型的值是不可变的,也就是说,基本数据类型的值一旦创建就不能被修改。基本数据类型包括:
- Number:数字类型,表示整数或浮动小数。
- String:字符串类型,表示文本数据。
- Boolean:布尔类型,只有两个值:
true和false。 - undefined:表示变量已声明但未赋值。
- null:表示“空”或“无值”的特殊对象类型。
- Symbol(ES6 引入):表示唯一且不可变的值,常用于对象属性的标识符。
- BigInt(ES11 引入):用于表示任意精度的大整数。
示例:
let num = 42; // Number
let str = "Hello, World!"; // String
let isActive = true; // Boolean
let nothing = undefined; // Undefined
let emptyValue = null; // Null
let uniqueSymbol = Symbol("id"); // Symbol
let largeNumber = 1234567890123456789012345678901234567890n; // BigInt
2. 引用数据类型(Reference Types)
引用数据类型与基本数据类型不同,它们的值是可变的,并且存储的是指向数据实际位置的引用,而不是数据本身。引用数据类型包括:
- Object:用于存储多个值的集合,这些值以属性的形式存储。
- Array:用于存储有序的值的集合,每个值可以是不同类型的数据。
- Function:用于定义函数,它也是一种对象类型。
a. Object(对象)
对象是由一组键值对(属性)构成的集合。键(属性名)是字符串类型,值可以是任意类型的数据。
let person = {
name: "Alice",
age: 25,
isActive: true
};
console.log(person.name); // 输出:Alice
b. Array(数组)
数组是对象的一种特殊类型,用于存储有序的数据集合。数组的元素可以是不同类型的数据。
let colors = ["red", "green", "blue"];
console.log(colors[0]); // 输出:red
c. Function(函数)
函数是可以执行一组操作的代码块,函数也是一种对象类型,可以赋值给变量。
function greet() {
console.log("Hello!");
}
greet(); // 输出:Hello!
3. 类型转换(Type Conversion)
JavaScript 会根据需要自动将一种数据类型转换为另一种类型,这称为隐式类型转换,也可以手动进行类型转换。
a. 隐式类型转换
JavaScript 会在表达式中自动将不同类型的值转换为合适的类型。
let num = 5 + "10"; // 隐式转换为字符串
console.log(num); // 输出:"510"
let result = "5" - 2; // 隐式转换为数字
console.log(result); // 输出:3
b. 显式类型转换
可以使用内置的转换方法手动进行类型转换。
- 转换为数字:使用
Number()或parseInt()。
let str = "123";
let num = Number(str); // 显式转换为数字
console.log(num); // 输出:123
- 转换为字符串:使用
String()或toString()。
let num = 123;
let str = String(num); // 显式转换为字符串
console.log(str); // 输出:"123"
- 转换为布尔值:使用
Boolean()。
let value = 0;
let bool = Boolean(value); // 显式转换为布尔值
console.log(bool); // 输出:false
4. 检查数据类型
可以使用 typeof 运算符检查基本数据类型的值,也可以使用 Array.isArray() 来检查数组类型。
示例:
let x = 10;
console.log(typeof x); // 输出:"number"
let str = "Hello";
console.log(typeof str); // 输出:"string"
let obj = { name: "Alice" };
console.log(typeof obj); // 输出:"object"
let arr = [1, 2, 3];
console.log(Array.isArray(arr)); // 输出:true
5. 特殊类型
- NaN(Not a Number):是一个特殊的数字值,表示一个无法表示的数值。
- Infinity:表示无穷大。
示例:
let x = 10 / 0;
console.log(x); // 输出:Infinity
let y = "Hello" / 2;
console.log(y); // 输出:NaN
小结
- 基本数据类型:
Number、String、Boolean、undefined、null、Symbol、BigInt。 - 引用数据类型:
Object、Array、Function。 - 类型转换:JavaScript 可以隐式或显式地将值转换为不同的数据类型。
- 检查类型:使用
typeof或Array.isArray()等方法来检查数据类型。
更多详细内容请关注其他相关文章!