为什么在typescript中扩展类时没有类型提示
与blow案例类似:为什么在typescript中扩展类时没有类型提示,typescript,typescript-typings,Typescript,Typescript Typings,与blow案例类似: 子类属性信息应分配给基本类属性信息 我认为这里最好有一个类型提示 因为我写错了,所以没有类型提示吗 interface Info { name: string; age: number; } class BaiscClass { public info: Info = { name: 'a', age: 20 } } 在子类中再次声明成员info,这次是初始化 但是,随后的声明可以有不同的类型(有一些限制)。您的IDE似乎不再假定inf
子类
属性信息应分配给基本类
属性信息
我认为这里最好有一个类型提示
因为我写错了,所以没有类型提示吗
interface Info {
name: string;
age: number;
}
class BaiscClass {
public info: Info = {
name: 'a',
age: 20
}
}
在
子类中
再次声明成员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'
};
}
请注意,自动完成通常取决于您使用的IDE。