KNOWLEDGE / NOTE
JavaScript 数据类型
MDN · 站内原创整理
原始值与对象的行为不同,类型转换和相等比较需要在边界处写清楚。
核心说明
JavaScript 的值分为原始值和对象。字符串、数字、布尔值、null、undefined、symbol 与 bigint 直接表示值;对象、数组和函数通过引用被操作。
关键点
- typeof null 返回 object 是历史遗留行为,判断 null 应使用 value === null。
- 对象比较比较的是引用,不是内容;两个结构相同的对象也不一定相等。
- 处理未知数据时优先使用 unknown,再通过类型守卫缩小范围。
const value: unknown = { name: "congxine" }
if (typeof value === "object" && value !== null) {
console.log(value)
} 资料来源 在官方文档中核验:MDN ↗