参数必须扩展类

时间:2018-02-22 20:47:05

标签: typescript

由于各种原因,我正在转向打字稿,到目前为止,我对它非常满意。

我遇到的一个问题是验证传递给函数的参数是否扩展了另一个类。

例如:

class Foo {
    public $xyz
}

class Bar {
    constructor(model: extends Foo)
}

class Baz extends Foo {}

除了Baz之外,许多类都可以扩展foo,但它们都具有相同的属性。我需要确保传递给构造函数model的{​​{1}}参数的类正确地扩展Bar

我怎样才能做到这一点?

(请原谅上面可怕的伪代码)

如果我的方法有误,我很想听听我能做些什么来解决这个问题。

1 个答案:

答案 0 :(得分:1)

constructor(model: Foo)

您正在寻找什么。这表明传递的实例model属于Foo类型或继承自Foo

关键字extends只能在类型声明中使用,以表示该类型扩展(继承自)另一种类型。

另见Classes documentation