TypeScript 区分联合类型:将布尔标志重构为状态机 笔记