是否可以引用类属性类型?

时间:2017-10-12 08:46:58

标签: typescript typescript2.0

我有一个班级:

class Todo {
    public id: number;
}

是否可以使用类属性作为类型引用(获取数字类型),如:

interface Settings {
    selectedTodoId: Todo.id;
}
现在应该检查

属性selectedTodoId是否为number类型

1 个答案:

答案 0 :(得分:9)

是的,这是可能的,使用lookup types。诀窍是使用括号表示法(Todo['id'])而不是点缀符号(Todo.id)。虚线表示法非常方便,并且有suggestion允许这样,但它不是微不足道的实现和破坏现有的代码(它与命名空间冲突),所以现在括号表示法是要走的路。

这是你如何做到的:

class Todo {
    public id: number;
}

interface Settings {
    selectedTodoId: Todo['id'];
}

您可以根据需要验证selectedTodoId是否具有number类型。

希望有所帮助;好lcuk!