angular - 如何获取对象的所有属性
问题描述
我需要获取一个类(或对象)的所有属性。还有所有未初始化的属性。
以下代码仅列出属性“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);
}
解决方案
你不能得到它们。
TS 中的代码优化会从您的对象实例中删除未定义的值。
只需将它们实例化为虚假值(字符串将是''
,数字将是0
),以便您的条件仍然受到尊重,并且您的函数应该可以工作。
推荐阅读
- jquery - 如何将json文件连接到依赖多个下拉列表创建
- python - 使用 python 和 webdriver 从加载的网页获取网络流量日志的问题
- java - 区分登录新建立的 SSO 会话和使用现有 SSO 会话登录
- email - 电子邮件地址作为帐户主键
- version-control - 无需重新下载即可同步工作区
- apache - MAMP VirtualHost 无法在 Windows 上运行
- python-3.x - Discord.py 说命令丰富的嵌入
- java - 无法将 Java 中的 Azure Function 部署到 Azure 云
- flutter - 在 TableCalendar 包上使用 _onVisibleDaysChanged 时如何获取当前年份和月份
- javascript - 如何连接两个字符串并在ajax调用中传入url