说我上课
Class A {}
并且仅在知道Class A
具有属性,但属性名称和属性数量(例如)可能有所不同的情况下,才想遍历Class A
属性(检查空值)
Class A {
A: string;
B: string;
}
或
Class A {
B: string;
C: string;
D: string;
}
有没有一种方法可以遍历Class A
属性并检查值是否为null?
答案 0 :(得分:1)
仅当您明确分配它们时。
class A {
B: string | null = null;
C: string | null = null;
D: string | null = null;
}
const a = new A();
for (let key in a) {
if (a[key] == null) {
console.log('key is null:', key);
}
}
答案 1 :(得分:1)
TypeScript类在运行时不存在,因为它已被转换为普通的旧JavaScript。您可以获得对象实例的属性
const a = { prop1: null, prop2: 'hello', prop3: 1 };
const nullProps = obj => Object.getOwnPropertyNames(obj).filter(prop => obj[prop] === null);
console.log(nullProps(a));