由于各种原因,我正在转向打字稿,到目前为止,我对它非常满意。
我遇到的一个问题是验证传递给函数的参数是否扩展了另一个类。
例如:
class Foo {
public $xyz
}
class Bar {
constructor(model: extends Foo)
}
class Baz extends Foo {}
除了Baz之外,许多类都可以扩展foo,但它们都具有相同的属性。我需要确保传递给构造函数model
的{{1}}参数的类正确地扩展Bar
。
我怎样才能做到这一点?
(请原谅上面可怕的伪代码)
如果我的方法有误,我很想听听我能做些什么来解决这个问题。
答案 0 :(得分:1)
constructor(model: Foo)
您正在寻找什么。这表明传递的实例model
属于Foo
类型或继承自Foo
。
关键字extends
只能在类型声明中使用,以表示该类型扩展(继承自)另一种类型。