TypeScript 对象操作全解析
1. 形状类型匹配规则
在处理对象时,对象要匹配某个类型,就必须定义该形状中的所有属性。不过,即使对象有形状类型未定义的额外属性,编译器仍会将其视为匹配,示例代码如下:
let hat = { name: "Hat", price: 100 };
let gloves = { name: "Gloves", price: 75 };
let umbrella = { name: "Umbrella", price: 30, waterproof: true };
let products: { name: string, price?: number }[] = [hat, gloves, umbrella];
products.forEach(prod => console.log(`${prod.name}: ${prod.price}`));
在上述代码中, umbrella 对象的 waterproof 属性因不属于形状类型而被忽略,编译执行后输出:
Hat: 100
Gloves: 75
Umbrella: 30
需要注意的是,并不需要类型注解来表明单个对象具有特定形状,TypeScript 编译器会通过检查对象的属性及其值,自动判断对象是否符合某种形状。
2. 不规则形状使用可选属性
可选属性能让形状类型更灵活,使其可以匹配那些没有定义这些属性的对象,示例如下: <
超级会员免费看
订阅专栏 解锁全文
4418

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



