IT课程 JavaScript基础 038_数据类型
2024-10-30 10:35:21 # 学习 # JavaScript基础

在JavaScript中,数据类型用于表示不同种类的数据,例如数字、字符串、布尔值等。
JavaScript中的数据类型分为两大类:原始数据类型和对象数据类型。

原始数据类型

原始数据类型的值只包含一个单独的内容(字符串、数字或者其他)。

Number(数字)

用于表示数字,包括整数和浮点数。例如:5、3.14、-10。
数字可以有很多操作,比如,乘法 *、除法 /、加法 +、减法 - 等等。
除了常规的数字,还包括所谓的“特殊数值”也属于这种类型:Infinity-InfinityNaN
Number 类型是浮点数类型,在进行精确计算时可能会存在精度问题,如:0.1 + 0.2
可以通过 parseInt() 方法将字符串转换为整数,通过 parseFloat() 方法将字符串转换为浮点数。

示例:

1
let age = 25;
1
console.log(0.1 + 0.2);  // 输出 0.30000000000000004
1
2
3
let result = 0.1 * 10 + 0.2 * 10;
result = result / 10; // 将结果转换回浮点数
console.log(result); // 输出 0.3
BigInt(大整型)

表示任意精度整数的数据类型(针对内存大小限制)。它允许你表示比 Number 类型更大范围的整数值,而不会丢失精度。使用 n 后缀或者调用 BigInt() 构造函数来创建 BigInt
处理超出 Number 范围的整数值,不能与普通整数混合使用,不能通过 parseInt()parseFloat() 转换。

示例:

1
2
let bigIntLiteral = 123n;
let bigIntObject = BigInt(456);
String(字符串)

用于表示文本数据,字符串是由一系列字符组成的,可以包含字母、数字、符号等,例如:”Hello, World!”、”你好”、’123’。
字符串必须被括在引号里,包括:单引号 'Hello'、双引号 "Hello"、反单引号 `Hello`。单引号和双引号都是“简单”引用,反单引号是具备功能扩展的引号,可以通过将 ${…} 方式直接引用变量,保存文本格式。
换行符 \n、制表符 \t、反斜杠自身 \\、单引号 \' 和双引号 \"、回车符 \r

示例:

1
let text = "Hello, World!";
Boolean(布尔值)

用于表示逻辑值,只有两个可能的值:true 或 false。

示例:

1
let isStudent = true;
Undefined(未定义)

用于表示未初始化、未定义、未被赋值的变量或没有参数值的函数。

示例:

1
2
let undefinedVar;
alert(undefinedVar);
Null(空值)

用于表示“无”、“空”或“值未知”的特殊值或不存在的对象值。

示例:

1
let nullValue = null;
Symbol(符号)

用于创建唯一的、不可变的标识符。常用于定义对象的私有属性、创建唯一的常量或者作为特殊行为的标识符。每个通过Symbol创建的符号都是唯一的,即使它们具有相同的描述也是不同的。

示例:

1
2
3
const symbol1 = Symbol();
const symbol2 = Symbol();
console.log(symbol1 === symbol2); // 输出 false,每个Symbol都是唯一的

对象数据类型

可用于储存数据集合或更复杂的内容。

Object(对象)

用于存储键值对,或者说属性与属性值的映射关系。
对象可以包含各种数据类型的值,包括数字、字符串、布尔值、数组、其他对象等。

示例:

1
2
3
4
5
let person = {
name: "Alice",
age: 30,
isStudent: false
};
Array(数组)

数组是一种有序的、可变的数据结构,用于存储一组值。数组可以包含不同数据类型的元素,且每个元素都有一个对应的索引。

示例:

1
let numbers = [1, 2, 3, 4, 5];
Function(函数)

函数是一种可重复使用的代码块,它可以接受输入参数、执行等一系列操作,并返回结果。函数是JavaScript中的一等公民,它可以被赋值给变量、作为参数传递给其他函数,也可以作为其他函数的返回值。

示例:

1
2
3
4
function greet(name) {
console.log("Hello, " + name + "!");
}
greet("JavaScript");

typeof

typeof 是一个在JavaScript中用于获取给定变量的类型的运算符(所以不需要在typeof中加括号)。它返回一个表示变量类型的字符串。

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
let undefinedVariable;
let booleanVariable = true;
let numberVariable = 42;
let stringVariable = "Hello";
let objectVariable = { key: "value" };
let functionVariable = function() {};
let symbolVariable = Symbol("mySymbol");
let nullVariable = null;

console.log(typeof undefinedVariable); // 输出 "undefined"
console.log(typeof booleanVariable); // 输出 "boolean"
console.log(typeof numberVariable); // 输出 "number"
console.log(typeof stringVariable); // 输出 "string"
console.log(typeof objectVariable); // 输出 "object"
console.log(typeof functionVariable); // 输出 "function"
console.log(typeof symbolVariable); // 输出 "symbol"
console.log(typeof nullVariable); // 输出 "object"

使用 typeof x, x 会分别返回变量类型及变量值。首先执行 typeof x,然后执行 x,并输出两个值。

示例:

1
2
let x = 42;
console.log(typeof x, x);
  • typeof x 返回 “number”,表示变量 x 的类型是数字。
  • x 返回变量 x 的值,即 42