如何获取对象的所有属性

时间:2019-05-14 10:08:10

标签: angular typescript

我需要获取类(或对象)的所有属性。还有所有未初始化的属性。

以下代码仅列出了属性“ att2”,但我想要全部(att1,att2,att3):

class ObjA {
  att1: string;
  att2 = 'test';
  att3: number;
}

function getAttributes(obj: ObjA) {
  for (const item of Object.keys(obj)) {
    console.log('Attribute: ' + item);
  }
}

function mainTest() {
  const obj = new ObjA();
  getAttributes(obj);
}

1 个答案:

答案 0 :(得分:3)

您无法获得它们。

TS中的代码优化可从对象实例中删除未定义的值。

只需将它们实例化为伪造的值(字符串将为'',数字将为0),以便仍然尊重您的条件,并且您的函数应能正常工作。