-
原始数据类型:
- Number: 表示数字,包括整数和浮点数。
- String: 表示文本数据。
- Boolean: 表示布尔值(
true
或false
)。 - Undefined: 表示未定义的值,即变量声明但未赋值。
- Null: 表示空值或无值。
- Symbol: 表示唯一且不可变的值,用于对象属性的唯一标识符。
- BigInt: 表示任意精度的整数。
-
引用数据类型:
- Object: 包含键值对的集合,用于存储复杂的数据结构。
- Array: 特殊类型的对象,用于存储有序集合。
- Function: 可执行的代码块,也是一种特殊的对象。
- Date: 用于处理日期和时间的对象。
- RegExp: 用于处理正则表达式的对象。
应用场景和示例代码
1. Number
应用场景: 数学计算、统计数据、数值比较。
示例代码:
const a = 5;
const b = 3.14;
const sum = a + b;
console.log(sum); // Output: 8.14
const isEqual = (a === 5);
console.log(isEqual); // Output: true
2. String
应用场景: 处理文本数据、字符串拼接、文本搜索。
示例代码:
const greeting = "Hello";
const name = "Alice";
const message = `${greeting}, ${name}!`;
console.log(message); // Output: Hello, Alice!
const upperCaseMessage = message.toUpperCase();
console.log(upperCaseMessage); // Output: HELLO, ALICE!
3. Boolean
应用场景: 控制流(如条件语句)、状态标记。
示例代码:
const isRaining = true;
if (isRaining) {
console.log("Don't forget your umbrella!");
} else {
console.log("It's a nice day!");
}
4. Undefined
应用场景: 变量声明但未赋值时、函数返回值未明确返回。
示例代码:
let x;
console.log(x); // Output: undefined
function greet() {
// No return statement
}
const result = greet();
console.log(result); // Output: undefined
5. Null
应用场景: 明确表示变量为空或无值、需要初始化但不赋值的情况。
示例代码:
let person = null;
console.log(person); // Output: null
person = { name: "Alice", age: 30 };
console.log(person); // Output: { name: 'Alice', age: 30 }
6. Symbol
应用场景: 创建唯一标识符,避免属性名冲突。
示例代码:
const uniqueId = Symbol('id');
const obj = {
[uniqueId]: 123
};
console.log(obj[uniqueId]); // Output: 123
7. BigInt
应用场景: 处理超大整数的计算。
示例代码:
const bigNumber = BigInt("123456789012345678901234567890");
const anotherBigNumber = BigInt(12345678901234567890);
const sum = bigNumber + anotherBigNumber;
console.log(sum); // Output: 123456789024691357791234567890
8. Object
应用场景: 存储复杂数据结构、封装数据和行为。
示例代码:
const person = {
name: "Alice",
age: 30,
greet: function() {
return `Hello, my name is ${this.name}`;
}
};
console.log(person.greet()); // Output: Hello, my name is Alice
9. Array
应用场景: 存储和操作有序数据集合。
示例代码:
const numbers = [1, 2, 3, 4, 5];
const doubled = numbers.map(num => num * 2);
console.log(doubled); // Output: [2, 4, 6, 8, 10]
10. Function
应用场景: 封装可重用的代码逻辑、实现回调和高阶函数。
示例代码:
function add(x, y) {
return x + y;
}
console.log(add(3, 4)); // Output: 7
const multiply = (a, b) => a * b;
console.log(multiply(2, 3)); // Output: 6
11. Date
应用场景: 处理和格式化日期和时间数据。
示例代码:
const now = new Date();
console.log(now); // Output: Current date and time
const birthday = new Date('1990-01-01');
console.log(birthday.getFullYear()); // Output: 1990
12. RegExp
应用场景: 字符串匹配和替换、模式匹配。
示例代码:
const regex = /hello/i;
const result = regex.test('Hello World');
console.log(result); // Output: true
const str = 'Hello World';
const newStr = str.replace(regex, 'Hi');
console.log(newStr); // Output: Hi World
总结
- 技术: 理解 JavaScript 的数据类型(原始和引用类型)是有效编程的基础。
- 应用场景: 不同的数据类型在处理不同的数据和操作时具有不同的用途。
- 示例代码: 通过示例代码展示了如何在实际编程中使用这些数据类型。