假设我有一个变量:
var product:Product;
var产品使用Product接口,但我想添加一个通用属性“hide”,以便在我的视图中知道是否需要隐藏产品。我可以在产品界面添加“隐藏”,但它不是产品型号的属性,因此感觉不对。
我可以创建一个特殊的界面来扩展Product以获得这两个属性,但我想知道是否有更简单的方法来执行此操作,例如:
var product:Product & Hide;
有这样的语法吗?
答案 0 :(得分:2)
是的,这是完全正确的,它被称为Intersection Types.
所以:
interface Hidden {
hide: boolean;
}
let product: Product & Hidden;
或者
let product: Product & { hide: boolean }