Q1主动回忆难度 3
1/12
TypeScript · 高级 03
记忆强度
TypeScript高级题库第 3 组,共 12 张卡片。
TypeScript · 高级 03
面向现代模块环境发布类型包时,必须让每个公开入口的运行时代码、声明文件、模块格式与消费者解析策略彼此一致。
声明文件是库的公共类型契约,而不是构建过程中的附属物。
设计 Vue 组合式函数时,应先明确调用者得到的是普通值快照、只读响应式引用、可写引用,还是包含状态与操作方法的领域对象,再决定是否进行响应式解包。
类型声明可见、编译器能够解析导入,以及运行时能够真正加载模块,是三个不同层面。
infer不是简单地从类型中“截取一段”,而是在条件类型匹配过程中为推断变量收集候选。
编辑器能够补全和跳转,不代表构建器或运行时能解析同一个模块。
开启incremental不等于每次修改只检查当前文件。
infer 不是从类型文本中机械截取一段内容,而是在条件类型匹配过程中声明待推断变量。
基于类表达式的混入,本质是“接收一个基类构造器并返回其子类”的高阶类工厂,不是真正的多继承。
异步中间件链的类型契约应同时回答四个问题:上下文由谁创建以及哪些字段可用;
插槽和渲染回调都是控制反转接口:组件掌握数据与状态,再把明确的上下文交给调用者生成视图。
泛型参数即使受联合类型约束,也仍表示“调用时选定的某个未知类型”,而不是函数体中可以随判别分支重新绑定的普通联合值。