是否可以在一个变量上使用多个接口?

时间:2016-10-27 11:01:05

标签: typescript

假设我有一个变量:

var product:Product;

var产品使用Product接口,但我想添加一个通用属性“hide”,以便在我的视图中知道是否需要隐藏产品。我可以在产品界面添加“隐藏”,但它不是产品型号的属性,因此感觉不对。

我可以创建一个特殊的界面来扩展Product以获得这两个属性,但我想知道是否有更简单的方法来执行此操作,例如:

var product:Product & Hide;

有这样的语法吗?

1 个答案:

答案 0 :(得分:2)

是的,这是完全正确的,它被称为Intersection Types.

所以:

interface Hidden {
    hide: boolean;
}

let product: Product & Hidden;

或者

let product: Product & { hide: boolean }