[英]why there is no type hint when extends Class in typescript
在SubClass
,您再次聲明成員info
,這次是初始化。
但是,后續聲明可能有不同的類型(有一些限制)。 看來您的 IDE 並沒有假設info
成員再次屬於Info
類型。
如果您使用相同的類型再次重新聲明該成員,它應該可以工作:
class SubClass extends BaseClass {
public info: Info = {
age: 10, /* Auto-completion should work here. Note that the type is specified explicitly. */
name: 'a'
};
}
但是因為這里重新聲明了成員,所以類型可能會改變:
interface Info2 extends Info
{
bla: string;
}
class SubClass extends BaseClass {
public info: Info2 = {
age: 10, /* Auto-completion should work here. Note that the type of "info" is now "Info2". */
name: 'a',
bla: 'bla',
};
}
您可能希望在構造函數中初始化已聲明的成員:
class SubClass extends BaseClass {
constructor() {
this.info = {
age: 10, /* Auto-completion should work here */
name: 'a'
};
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.