JavaScript 练习
光看不练假把式。本课用测试驱动的方式刷一批小练习,把上一课的知识固化成肌肉记忆。
为什么用测试驱动(TDD)练习
每个练习都配好了 Jest 测试:你写实现,测试告诉你对不对。这正是真实工作中"单元测试"的样子——先明确预期行为,再写代码满足它。
// 练习:实现 sum(a, b)
// 测试文件已写好:
expect(sum(1, 2)).toBe(3);
expect(sum(-1, 1)).toBe(0);
// 你的实现:
function sum(a, b) {
return a + b;
}
使用方法
# 克隆练习仓库
git clone https://github.com/TheOdinProject/javascript-exercises.git
cd javascript-exercises
# 安装依赖(含 Jest)
npm install
# 进入某个练习,运行它的测试
npm test 01_helloWorld/helloWorld.spec.js
测试全红 → 写实现 → 测试变绿 → 下一个。建议按编号顺序做,每天 2~3 个。
推荐节奏
| 阶段 | 练习 | 重点 |
|---|---|---|
| 第 1~2 天 | helloWorld / repeatString / reverseString | 基本语法、字符串 |
| 第 3~4 天 | removeFromArray / sumAll / leapYears | 数组、循环、条件 |
| 第 5~6 天 | tempConversion / calculator | 函数组合、边界处理 |
| 第 7 天 | palindromes / fibonacci / getTheTitles | 综合应用 |
过关标准
- 不查答案独立通过全部测试
- 能给每个实现讲清楚时间复杂度
- 挑 3 个练习,用另一种思路再写一遍(比如循环改递归)