Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在typescript中获取子类的所有属性名?_Typescript - Fatal编程技术网

在typescript中获取子类的所有属性名?

在typescript中获取子类的所有属性名?,typescript,Typescript,如何在typescript中获取子类的所有属性名?我可以得到类中的所有属性名,但它也提供了基类中的属性名,我不需要这些属性名 基类 class BaseTestClass { public testVar: null = null; } 子类 class TestClass extends BaseTestClass { public longNameVar1: null = null; public longNameVar2: null = null; pub

如何在typescript中获取子类的所有属性名?我可以得到类中的所有属性名,但它也提供了基类中的属性名,我不需要这些属性名

基类

class BaseTestClass {
    public testVar: null = null;
}
子类

class TestClass extends BaseTestClass {
    public longNameVar1: null = null;
    public longNameVar2: null = null;
    public longNameVar3: null = null;
    public longNameVar4: null = null;
    public longNameVar5: null = null;

}


let testClass = new TestClass()

let testClassProperties = Object.getOwnPropertyNames(testClass)
console.log(testClassProperties);

因为它是这样做的。如果您打印您的
testClass
对象,您可以看到testVar与其他对象一起被分配到了自己的属性中。里面什么都没有

\uuuu proto\uuuu中的属性不被视为对象自己的属性

如果您将此类型脚本转换为javascript,您将看到为什么
getOwnPropertyNames
必须包含
testVar
-使用
this.propertyname=value
添加的任何属性都是“自己的”属性