JavaScript 8大数据类型口诀
“七原一对象,空未布数串,符号大整全。”
(拆解+联想记忆法,5秒牢记不混淆)
逐字精解:
- 七原 → 7种原始类型(Primitive Types)
- 一对象 → 1种对象类型(Object Type)
- 空 → Null(主动赋空值)
- 未 → Undefined(未赋值的默认值)
- 布 → Boolean(布尔值
true/false
) - 数 → Number(数字、
NaN
、Infinity
) - 串 → String(字符串)
- 符号 → Symbol(唯一标识符)
- 大整 → BigInt(大整数,后缀
n
) - 全 → 涵盖所有类型,闭环记忆
场景联想:
想象一个**程序员(Object)**在调试代码时:
- 遇到**空(Null)指针和未(Undefined)**定义的变量
- 用**布(Boolean)尔逻辑判断数(Number)**值问题
- 拼接**串(String)**时发现乱码
- 用**符号(Symbol)**解决命名冲突
- 处理**大整(BigInt)**数时内存溢出
对比记忆表
口诀词 | 对应类型 | 典型值 | 常见场景 |
---|---|---|---|
空 | Null | null | 主动释放对象引用 |
未 | Undefined | undefined | 变量声明未赋值时 |
布 | Boolean | true / false | 条件判断、开关状态 |
数 | Number | 42 /3.14 /NaN | 数学运算、数据计算 |
串 | String | 'hello' / `world` | 文本处理、模板字符串 |
符号 | Symbol | Symbol('key') | 对象唯一键、防止属性覆盖 |
大整 | BigInt | 9007199254740991n | 金融计算、大数精确处理 |
对象 | Object | {} /[] /function(){} | 复杂数据结构、功能封装 |
延展技巧:
- 类型检测口诀:
“基本用typeof,对象instanceof,精准toString.call” - 避坑指南:
typeof null === 'object'
(历史遗留问题,需特殊记忆)NaN !== NaN
→ 用Number.isNaN()
检测- 引用类型比较的是内存地址,非内容(
[] !== []
)
通过口诀+场景联想+对比表,轻松攻克JS类型系统,让我们从此面试手写代码不迷茫!