一、JavaScript数据类型概述
JavaScript中的数据类型可以分为两大类:基本数据类型(值类型)和引用数据类型。基本数据类型包括字符串、数字、布尔值、null、undefined和符号(Symbol),而引用数据类型则主要包括对象、数组和函数等。
二、基本数据类型详解
1. 字符串(String)
字符串是JavaScript中最常用的数据类型之一,用于表示文本数据。在JavaScript中,字符串可以用单引号、双引号或反引号来表示。
let str1 = 'Hello, World!'; // 使用单引号
let str2 = "Hello, World!"; // 使用双引号
let str3 = `Hello, World!`; // 使用反引号
反引号还支持模板字符串,可以在字符串中嵌入变量或表达式。
let name = 'Alice';
let greeting = `Hello, ${name}!`; // 输出:Hello, Alice!
2. 数字(Number)
数字类型用于表示整数和浮点数。JavaScript中的数字类型是基于IEEE 754标准的双精度浮点数。
let num1 = 123; // 整数
let num2 = 123.456; // 浮点数
JavaScript还支持科学计数法表示非常大或非常小的数字。
let bigNum = 1.23e5; // 123000
let smallNum = 1.23e-5; // 0.0000123
此外,数字类型还包括一些特殊值,如Infinity(正无穷大)、-Infinity(负无穷大)和NaN(Not a Number,非数字)。
let inf = Infinity; // 正无穷大
let negInf = -Infinity; // 负无穷大
let nan = NaN; // 非数字
3. 布尔值(Boolean)
布尔值类型用于表示逻辑值,只有两个取值:true和false。
let bool1 = true;
let bool2 = false;
布尔值常用于条件判断和逻辑运算。
if (bool1) {
console.log('This is true');
} else {
console.log('This is false');
}
4. null和undefined
null表示一个空值或不存在的对象,undefined表示一个未初始化的变量或缺失的属性。
let n = null; // 显式赋值为null
let u; // 未初始化,默认为undefined
在JavaScript中,null和undefined在某些情况下可以互换使用,但它们具有不同的含义。null表示一个有意缺失的值,而undefined表示一个未定义的值。
5. 符号(Symbol)
符号类型是ES6引入的一种新的数据类型,用于表示独一无二的标识符。符号类型的值是通过Symbol()函数生成的。
let sym1 = Symbol('foo'); // 创建一个符号
let sym2 = Symbol('foo'); // 创建另一个符号,尽管描述相同,但它们是不同的
符号类型常用于对象属性的键名,以确保属性名的唯一性。
let obj = {};
let key = Symbol('key');
obj[key] = 'value'; // 使用符号作为属性键名
三、引用数据类型简介
除了基本数据类型外,JavaScript还支持引用数据类型。引用数据类型包括对象、数组和函数等。与基本数据类型不同,引用数据类型的值是存储在内存中的对象,变量中存储的是对象的引用地址。
1. 对象(Object)
对象是一种无序的键值对集合。在JavaScript中,对象可以通过对象字面量或构造函数来创建。
let obj1 = { key1: 'value1', key2: 'value2' }; // 使用对象字面量创建对象
let obj2 = new Object(); // 使用构造函数创建对象
对象可以包含任意数量的属性和方法。
let person = {
name: 'Alice',
age: 25,
greet: function() {
console.log(`Hello, my name is ${this.name}`);
}
};
2. 数组(Array)
数组是一种有序的元素集合。在JavaScript中,数组可以通过数组字面量或Array构造函数来创建。
let arr1 = [1, 2, 3, 4, 5]; // 使用数组字面量创建数组
let arr2 = new Array(5); // 使用构造函数创建数组
数组可以包含任意类型的元素,并提供了一系列的方法来操作数组。
let numbers = [1, 2, 3, 4, 5];
numbers.push(6); // 在数组末尾添加元素
numbers.pop(); // 移除数组末尾的元素
3. 函数(Function)
函数是一种特殊的对象,用于封装可重用的代码块。在JavaScript中,函数可以通过函数声明、函数表达式或箭头函数来定义。
function add(a, b) { // 函数声明
return a + b;
}
let multiply = function(a, b) { // 函数表达式
return a * b;
};
let subtract = (a, b) => a - b; // 箭头函数
函数可以作为参数传递给其他函数,也可以作为返回值返回。
function calculate(operation, a, b) {
return operation(a, b);
}
let result = calculate(add, 1, 2); // 输出:3