周一至周五学习,每日 2h,周末休息 全程禁用
for/while循环,优先纯函数、数据不可变
| 周数 | 阶段 | 主题 | 状态 | 完成日期 |
|---|---|---|---|---|
| 01 | 阶段一 | 纯函数 & 数组高阶方法 | ⬜ | - |
| 02 | 阶段一 | 闭包 & 不可变数据 | ⬜ | - |
| 03 | 阶段二 | 柯里化 + Compose/Pipe(压缩) | ⬜ | - |
| 04 | 阶段三 | Ramda 基础 | ⬜ | - |
| 05 | 阶段三 | Ramda 进阶 | ⬜ | - |
| 06 | 阶段四 | Functor & Maybe | ⬜ | - |
| 07 | 阶段四 | Either 异常处理 | ⬜ | - |
| 08 | 阶段四 | Monad 单子 | ⬜ | - |
| 09 | 阶段五 | Effect-TS 入门 | ⬜ | - |
| 10 | 阶段五 | 完整项目实战 | ⬜ | - |
.
├── README.md # 你在这里
├── plan.md # 原始学习计划(详细日程)
├── notes/ # 每周/每日 学习笔记
├── exercises/ # 按周组织的代码练习
├── projects/ # 第10周结业项目
├── cheatsheet.md # 持续更新的 FP 速查表
├── resources.md # 学习资源 & 参考链接
└── .gitignore
- 30-40 分钟 — 理论学习、看文章/视频、整理笔记
- 80-90 分钟 — 手写代码练习
- 10 分钟(可选)— 用 FP 写法刷一道 LeetCode
- 全程不使用
for/while循环 - 优先使用纯函数,副作用集中隔离
- 数据不可变(不修改原数组/对象)
- 所有练习文件存放在对应
exercises/week-XX/目录下
# 测试当前周所有练习
npm run week:01
# 测试全部练习
npm test
# 单独运行某个文件(不跑测试,只看输出)
npm run run -- exercises/week-01-pure-functions/01-pure-functions.js
# 单独测试某个文件
node --test exercises/week-01-pure-functions/01-pure-functions.js- 打开当天练习文件,在
=== 在这里写你的代码 ===区域写实现 - 运行
npm run week:XX查看测试结果 - 所有测试
# pass全绿 → 完成,可以提交 - 遇到红叉看报错信息,改进实现