Q1主动回忆难度 3
1/11
TypeScript · 高级 04
记忆强度
TypeScript高级题库第 4 组,共 11 张卡片。
TypeScript · 高级 04
装饰器的表达式求值、装饰器函数调用和实例创建是不同阶段,不能用一句笼统的“从下往上执行”概括全部行为。
当同一个泛型参数同时出现在多个参数位置时,TypeScript 可能从多个实参收集推断候选。
声明合并会把同名接口声明贡献的函数成员组合成重载集合,而调用解析会按照重载候选的有效顺序选择首个适用签名,因此声明组顺序和组内签名顺序都可能改变推断结果。
自定义 TypeScript 转换器主要操作语法树,转换过程中创建的新节点不会自动重新经历完整的绑定和类型检查。
模板字面量类型可以描述有限的字符串协议,条件类型配合infer能够匹配并提取路径片段、事件名前缀或资源键组成,再把结果转换为联合类型或参数对象。
增量编译不是只检查刚修改的文件,而是复用上一次构建保存的程序结构、文件版本、模块解析结果和公开签名,再沿依赖关系判断哪些结果仍然有效。
高阶组件注入属性时,应让包装后的调用者不再负责提供注入项,同时保留原组件其余必需属性。
状态与动作都可以使用可辨识联合建模,但职责不同:状态联合用于排除不可能同时成立的字段组合,动作联合用于建立动作名称与载荷之间的一一对应。
条件类型处理 any、never 和 unknown 时出现反直觉结果,是因为这三者在类型关系中具有特殊语义,不能当作普通联合成员理解。
TypeScript的类型检查和代码生成是相互关联但可以分离的阶段。
组件暴露命令式能力时,应把引用设计成独立、稳定、最小化的公共句柄,而不是默认暴露整个组件实例、内部状态或底层元素。