我需要获取类(或对象)的所有属性。还有所有未初始化的属性。
以下代码仅列出了属性“ 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);
}
答案 0 :(得分:3)
您无法获得它们。
TS中的代码优化可从对象实例中删除未定义的值。
只需将它们实例化为伪造的值(字符串将为''
,数字将为0
),以便仍然尊重您的条件,并且您的函数应能正常工作。