TypeScript 类型系统:深入理解与应用
1. 多余属性检查
多余属性检查是捕获拼写错误和属性名其他错误的有效方法,这些错误在结构类型系统中原本是被允许的。它在处理包含可选字段的类型(如 Options)时特别有用。不过,它的适用范围非常有限,仅适用于对象字面量。
1.1 注意事项
- 当你将对象字面量赋值给已知类型的变量或将其作为参数传递给函数时,会进行多余属性检查。
- 多余属性检查是发现错误的有效方法,但它与 TypeScript 类型检查器执行的常规结构可赋值性检查不同。混淆这两个过程会使你更难建立可赋值性的心理模型。TypeScript 类型不是“封闭的”。
- 要注意多余属性检查的局限性:引入中间变量会消除这些检查。
- “弱类型”是仅包含可选属性的对象类型。对于这些类型,可赋值性检查要求至少有一个匹配的属性。
1.2 示例
type TState = {
name: string;
capital: string;
};
const wyoming: TState = {
name: 'Wyoming',
capital: 'Cheyenne',
population: 578_000
// ~~~~~~~ Object literal may only specify known properties,
// and 'population' does not exist in type 'TState'
};
<
超级会员免费看
订阅专栏 解锁全文
1318

被折叠的 条评论
为什么被折叠?



