基本类型与对象及核心类型
了解基本类型与对象的区别、七种基本类型、快速的 typeof 检查,以及初学者常见陷阱。
基本类型与对象及核心类型 是 CoddyKit 上的免费 JavaScript Academy 课时。 这是第 1 节课,共 3 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 JavaScript Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 JavaScript Academy 课程共包含 3 节课。
简介
目标:区分原始值与对象,并通过快速检查认识全部七种原始类型。
- 七种原始类型
- 对象与包装对象
- typeof 概览

七种原始类型:typeof 概览
JavaScript 有7 种原始类型:number、bigint、string、boolean、null、undefined 和 symbol。
// Seven primitives and typeof
const n = 42;
// number
const bi = 42n;
// bigint
const s = "hello";
// string
const b = true;
// boolean
const u = undefined;
// undefined
const nl = null;
// null (primitive)
const sy = Symbol("id");
// symbol (unique each time)
console.log(typeof n, typeof bi, typeof s, typeof b);
console.log(typeof u, typeof nl, typeof sy);
// Note: typeof null is "object" (historical quirk)

原始值与对象
原始值是单一且不可变的值。对象包含属性,并按引用进行比较(数组、函数和日期都是对象)。
- 原始值按值比较
- 对象可以扩展和改变

包装对象的陷阱
优先使用字面量(例如“hello”),而不是包装对象(new String、new Number、new Boolean)。
// Avoid wrapper constructors for primitives
const s1 = "hi";
// primitive string
const s2 = new String("hi");
// String object (wrapper)
console.log(typeof s1);
// "string"
console.log(typeof s2);
// "object"
console.log(s1 === "hi");
// true (value compare)
console.log(s2 === "hi");
// false (object vs primitive)

BigInt 与 Symbol 基础
BigInt 用于处理超大整数;Symbol 为对象创建唯一键。
// BigInt: integers beyond Number.MAX_SAFE_INTEGER
const big = 9007199254740993n;
// 2^53 + 1
console.log(big + 7n);
// Symbol: unique identifiers
const a = Symbol("token");
const b = Symbol("token");
console.log(a === b);
// false — symbols are always unique

null 与 undefined
undefined:已声明但尚未赋值。null:明确表示“无值”。提示:typeof null 返回“object”(这是一个历史遗留行为),但 null 仍然是原始值。

typeof null 小测
快速检查:typeof null 的结果是什么?

总结
总结:您识别了七种原始类型,比较了它们与对象的区别,避开了包装对象的陷阱,并了解了 typeof null 的特殊行为。

常见问题解答
「基本类型与对象及核心类型」课时是免费的吗?
是的 — 「基本类型与对象及核心类型」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 JavaScript Academy 课程的其余内容,请升级到 CoddyKit PRO。 JavaScript Academy 课程共包含 3 节课。
「基本类型与对象及核心类型」这节课中我会学到什么?
了解基本类型与对象的区别、七种基本类型、快速的 typeof 检查,以及初学者常见陷阱。 你通过在浏览器中直接运行的动手代码来练习 JavaScript Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 JavaScript Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 JavaScript Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 3 节。
「基本类型与对象及核心类型」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 JavaScript Academy 课中编写并运行代码吗?
能。每节 JavaScript Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 基本类型与对象及核心类型
- typeof、真值与假值,以及 == 与 ===
- 类型强制转换:避免意外的安全模式