有没有办法用另一个变量的类型声明一个变量?例如,我声明一个具有某种类型的类成员,然后稍后我想在相同类型的函数中声明另一个变量。但是我不想修改原始声明,也不想重复它。看来您应该可以执行以下操作:
class Foo {
bar: {[key: string]: string[]};
func() {
const x: TypeOf<Foo.bar> = {};
....
}
}
我听说过专门针对函数的返回类型的类似内容,但是我再也找不到了...
答案 0 :(得分:1)
您可以使用typeof
,但在上课时,您应该使用属性:
class Foo {
bar: {[key: string]: string[]};
func() {
const x: typeof Foo.prototype.bar = {};
// here x has type `{[key: string]: string[]}`
}
}
还有课外的另一个例子:
class A {
b: string = ''
}
type test = typeof A.prototype.b // type is `string`