JavaScript 数据类型
                           
天天向上
发布: 2025-02-25 22:26:28

原创
395 人浏览过

在 JavaScript 中,数据类型用于指定变量可以存储的值的类型。JavaScript 支持两大类数据类型:基本数据类型(原始类型)引用数据类型

1. 基本数据类型(Primitive Types)

基本数据类型的值是不可变的,也就是说,基本数据类型的值一旦创建就不能被修改。基本数据类型包括:

  • Number:数字类型,表示整数或浮动小数。
  • String:字符串类型,表示文本数据。
  • Boolean:布尔类型,只有两个值:truefalse
  • 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

小结

  • 基本数据类型NumberStringBooleanundefinednullSymbolBigInt
  • 引用数据类型ObjectArrayFunction
  • 类型转换:JavaScript 可以隐式或显式地将值转换为不同的数据类型。
  • 检查类型:使用 typeofArray.isArray() 等方法来检查数据类型。

更多详细内容请关注其他相关文章!

发表回复 0

Your email address will not be published. Required fields are marked *