Typescript:从方法访问可选类属性
在typescript中,我创建了一个具有可选属性和方法的类。 在该类的方法中,我希望访问类型属性(以类型安全的方式,如果它们存在的话) 我试过这样做:Typescript:从方法访问可选类属性,typescript,class,methods,Typescript,Class,Methods,在typescript中,我创建了一个具有可选属性和方法的类。 在该类的方法中,我希望访问类型属性(以类型安全的方式,如果它们存在的话) 我试过这样做: class-MyClass{ 正文?:字符串; 儿童?:MyClass[]; 静态subs():MyClass[]|未定义{ 如果(这是儿童){ 把这个还给孩子们; } } } 并得到以下错误: Property 'children' does not exist on type 'typeof MyClass'.ts(2339) 如何实现
class-MyClass{
正文?:字符串;
儿童?:MyClass[];
静态subs():MyClass[]|未定义{
如果(这是儿童){
把这个还给孩子们;
}
}
}
并得到以下错误:
Property 'children' does not exist on type 'typeof MyClass'.ts(2339)
如何实现这一点?静态方法无法访问实例属性 以下工作:
class MyClass {
body?: string;
children?: MyClass[];
subs(): MyClass[] | undefined {
if (this.children) {
return this.children;
}
return undefined
}
}
但可以简化为:
// ...
subs(): MyClass[] | undefined {
return this.children;
}
反射(即在运行时访问类型信息)不容易实现。您可以访问对象的属性,但只能获取javascript类型。静态方法无法访问实例属性 以下工作:
class MyClass {
body?: string;
children?: MyClass[];
subs(): MyClass[] | undefined {
if (this.children) {
return this.children;
}
return undefined
}
}
但可以简化为:
// ...
subs(): MyClass[] | undefined {
return this.children;
}
反射(即在运行时访问类型信息)不容易实现。您可以选择对象的类型,但只能获得javascript类型