2017-10-12 86 views
1

我有一个类:是否可以引用类属性类型?

class Todo { 
    public id: number; 
} 

是否有可能使用类属性类型引用(获得号码类型),比如:

interface Settings { 
    selectedTodoId: Todo.id; 
} 

财产selectedTodoId现在应该检查number

+1

我想你必须等待https://github.com/Microsoft/TypeScript/issues/6606 – jonrsharpe

+3

试试'Todo ['id']'。不知道为什么人们告诉你这是不可能的。当我找到合适的键盘时,我可以充实真实的答案。 – jcalz

回答

2

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

这里是你如何做到这一点:

class Todo { 
    public id: number; 
} 

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

您可以验证selectedTodoId具有类型number达到目标。

希望有帮助;好lcuk!

相关问题