本文会定期更新,我遇到的觉得值得分享的 TypeScript 问题都会写在这里

限制传入对象必须包含某些字段

用于给某个处理特定对象的函数来限制传入参数,尤其是当对象的某些字段是可选项的时候,比如说:
test 函数接受的参数类型为:

TypeScript 写久了,越来越觉得定义各种类型,接口啊其实都是在写编辑器自动提示的配置而已。而且现在 ts 的各种高级类型越来越多,整个类型系统甚至可以看作是一套函数式工具库。用它不难,用好它其实挺难的,其中的差别我觉得就像前端从面向 dom 的编程和转变为面向数据驱动编程那样,你得首先有类型思维,因为它一定程度上还会反过来影响你的 api 设计和数据结构。