Appearance
消息城和报童小铃一起造一个信号库
一本写给 10 岁孩子的 TypeScript 教程书。从零开始,一步步建造出真正的 alien-signals 信号库,最后跑绿它的全部测试。
你听说过"信号"吗?它不是手机信号,而是一种会变化的消息。
想象一个新闻社:报纸一改,所有订报的人都会自动收到新报纸——不用他们一个个来问"改了吗?改了吗?"。信号库就是给程序装上这套"自动送报"的本事。
在接下来的 21 章里,你会跟着报童小铃,从零开始亲手建造一个真正的信号库——就是世界上那个最快的、已经被 Vue 用到自己身体里的信号库。你会先建一个"能跑但有点笨"的版本,再给它动一次"心脏手术",然后一步一步优化,直到它和真实库一样快、一样聪明。
每一章结尾都有完整的代码,抄下来就能跑;还有动手试试的小练习,答案就藏在章节末尾,先自己想想再看。
用最直白的思路(集合 Set + 递归)先造一个能跑的信号库,建立直觉。
把"集合记订阅者"换成真正的"连接线"链表,算法开始脱胎换骨。
一步步走向真实库的最终算法,最后跑绿它的全部测试。
📌 参考库是真实的 alien-signals(版本 3.2.1),放在仓库的
参考/文件夹里。书里的代码最终会和它完全一致。