基础入门
数据类型
学习 7 种原始类型与 typeof 运算符
数据类型
JavaScript 有 7 种原始类型和 1 种引用类型。理解类型是写出正确代码的基础。
学完本章你将: 掌握所有 JS 数据类型及 typeof 运算符。
原始类型(Primitive Types)
javascript
// 1. Number —— 整数和浮点数
let age = 25;
let price = 99.99;
let notANumber = NaN;
let infinity = Infinity;
// 2. String —— 字符串
let name = "Alice";
let greeting = '你好';
let template = `Hello ${name}`;
// 3. Boolean —— 布尔值
let isActive = true;
let isAdmin = false;
// 4. Undefined —— 未定义
let x;
console.log(x); // undefined
console.log(typeof x); // "undefined"
// 5. Null —— 空值(表示"无")
let y = null;
console.log(typeof y); // "object"(历史遗留 bug)
console.log(y === null); // true
// 6. BigInt —— 大整数(ES2020)
let big = 9007199254740991n;
let huge = BigInt("12345678901234567890");
// 7. Symbol —— 唯一标识符(ES6)
let sym1 = Symbol("id");
let sym2 = Symbol("id");
console.log(sym1 === sym2); // false
引用类型 —— Object
javascript
// 对象
let person = {
name: "Alice",
age: 25,
};
// 数组(也是对象)
let colors = ["red", "green", "blue"];
console.log(typeof colors); // "object"
// 函数(也是对象)
function greet() {
return "Hello";
}
console.log(typeof greet); // "function"(实际是 object)
typeof 运算符
javascript
typeof 42; // "number"
typeof "hello"; // "string"
typeof true; // "boolean"
typeof undefined; // "undefined"
typeof null; // "object" ⚠️
typeof Symbol(); // "symbol"
typeof 1n; // "bigint"
typeof {}; // "object"
typeof []; // "object"
typeof function(){}; // "function"
动态类型
JavaScript 变量类型在运行时确定,可以随时改变:
javascript
let data = 42;
console.log(typeof data); // "number"
data = "hello";
console.log(typeof data); // "string"
data = true;
console.log(typeof data); // "boolean"