在 JavaScript 编程中,数据类型是构建所有程序的基础,理解它的分类、判断方式以及不同类型的核心差异,是写出健壮代码、避免隐蔽 Bug 的关键。本文将全面拆解 JS 数据类型的相关知识点,从分类到实操,帮你彻底吃透这一基础核心内容。
一、JS 数据类型的分类与具体种类
JavaScript 数据类型分为两大类别,共计8 种具体类型,这一划分是基于数据的存储方式、访问机制的本质差异而来。
1. 两大核心分类
- 基础数据类型(也叫原始数据类型、值类型)
- 引用数据类型(也叫复杂数据类型、引用类型)
2. 8 种具体数据类型
(1)基础数据类型(7 种)
基础数据类型是不可再分的最小数据单元,直接存储具体的值,具体包括:
String:字符串类型,用于表示文本数据,如"Hello JS"、'123'(单引号、双引号、反引号均可包裹);Number:数值类型,包含整数、浮点数以及特殊数值,如100、3.14、NaN(非数字)、Infinity(无穷大);Boolean:布尔类型,仅包含两个值,用于表示真假状态:true(真)和false(假);Undefined:未定义类型,只有一个值undefined,表示变量已声明但未赋值,或访问不存在的对象属性时的返回值;Null:空值类型,只有一个值null,表示一个有意指向的'空对象',通常用于手动清空变量的引用;Symbol:ES6 新增的唯一标识类型,每个 Symbol 实例都是独一无二的,用于解决对象属性名冲突问题,如Symbol('name');BigInt:ES10 新增的大整数类型,用于表示超出Number类型安全范围(±2^53-1)的整数,后缀以n标识,如9007199254740993n。
(2)引用数据类型(1 种,核心为 Object)
引用数据类型本质是对数据的引用,存储的是内存地址,而非具体值,核心类型为 Object,常见的衍生 / 内置类型都属于 Object 的子类:
- 普通对象:
{ name: "张三", age: 20 }; - 数组:
[1, 2, 3, "JS"](本质是有序索引的对象); - 函数:
function fn() { return 1; }(本质是可执行的对象); - 正则表达式:
/^\d+$/; - 日期对象:
new Date()等。
二、判断 JavaScript 数据类型的常用方法
在开发中,我们经常需要判断变量的数据类型,不同方法有各自的适用场景和局限性,以下是 4 种核心判断方式:
1. typeof 操作符:基础数据类型首选
typeof 是最常用的基础判断方法,返回一个表示数据类型的字符串,语法:typeof 变量/值。
适用场景与示例
// 基础数据类型判断(除 null 外均准确)
console.( );
.( );
.( );
.( );
.( ());
.( );
.( {});
.( []);
.( /abc/);
.( (){});
.( );


