在 TypeScript 中反映嵌套的属性字面量
我刚接触 TypeScript/JavaScript,正在尝试弄清楚一些事情。我定义了一个类型,如下所示:
declare module "Names" {
export = Names;
const Names: {
readonly name1: string;
readonly name2: string;
readonly name3: {
readonly name3SubName1: string;
...
我正在尝试在运行时从 Names 对象中提取所有字符串的名称和值,并且 Names 可以具有多层嵌套。
我已经能够通过迭代结果来获取“顶层”属性
Object.keys(Names)
但是由于该调用的返回值是字符串,我无法进一步深入。在这个例子中,我想访问 name3.name3SubName1。我也尝试过 hasOwnProperty 和 getOwnProperty 的组合,但都无法获取任何嵌套属性。有没有一种常见的做法可以在 TS 对象中“反射”属性对象,并且可以处理嵌套?