我有一个班级:
class Todo {
public id: number;
}
是否可以使用类属性作为类型引用(获取数字类型),如:
interface Settings {
selectedTodoId: Todo.id;
}
现在应该检查属性selectedTodoId
是否为number
类型
答案 0 :(得分:9)
是的,这是可能的,使用lookup types。诀窍是使用括号表示法(Todo['id']
)而不是点缀符号(Todo.id
)。虚线表示法非常方便,并且有suggestion允许这样,但它不是微不足道的实现和破坏现有的代码(它与命名空间冲突),所以现在括号表示法是要走的路。
这是你如何做到的:
class Todo {
public id: number;
}
interface Settings {
selectedTodoId: Todo['id'];
}
您可以根据需要验证selectedTodoId
是否具有number
类型。
希望有所帮助;好lcuk!