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

Ale*_*lex 7 typescript typescript2.0

我有一节课:

class Todo {
    public id: number;
}
Run Code Online (Sandbox Code Playgroud)

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

interface Settings {
    selectedTodoId: Todo.id;
}
Run Code Online (Sandbox Code Playgroud)

selectedTodoId现在应检查属性的number类型

jca*_*alz 12

是的,这是可能的,使用查找类型.诀窍是使用括号表示法(Todo['id'])而不是点缀符号(Todo.id)虚线表示法将非常方便,并且有一个建议允许这样做,但实现并不会破坏现有代码(它与命名空间冲突) ,所以现在括号表示法是要走的路.

这是你如何做到的:

class Todo {
    public id: number;
}

interface Settings {
    selectedTodoId: Todo['id'];
}
Run Code Online (Sandbox Code Playgroud)

您可以根据需要验证其selectedTodoId类型number.

希望有所帮助; 好lcuk!