Typescript:将属性接口到字符串文字类型?

Typescript:将属性接口到字符串文字类型?,typescript,typescript-typings,Typescript,Typescript Typings,所以这是所有Typescript向导的问题 如果我有一个接口,例如 interface A { value: string child : { nestedValue: number } } 是否可以将包含该接口所有属性的类型派生为字符串文本类型?像这样: 键入WhatIWant='value'|'child.nestedValue' 谢谢 您通常会使用typeof A,但我不确定是否可以展平嵌套对象。为什么需要child.nestedValue类型?你想用它做什么?@z

所以这是所有Typescript向导的问题

如果我有一个接口,例如

interface A {
  value: string
  child : {
     nestedValue: number
  }
}
是否可以将包含该接口所有属性的类型派生为字符串文本类型?像这样:

键入WhatIWant='value'|'child.nestedValue'


谢谢

您通常会使用
typeof A
,但我不确定是否可以展平嵌套对象。为什么需要
child.nestedValue
类型?你想用它做什么?@zerkms我想写一个类型安全函数,像这样:
performMagic('child.nestedValue')
即使你有一个
child.nestedValue
类型,你也不能用它作为安全遍历对象类型的属性路径。假设您已经有一个值
child.nestedValue
,并尝试实现
performMagic
。从Typescript 4.1开始,您可能会使用
typeof a
,但我不确定是否可以展平嵌套对象。为什么需要
child.nestedValue
类型?你想用它做什么?@zerkms我想写一个类型安全函数,像这样:
performMagic('child.nestedValue')
即使你有一个
child.nestedValue
类型,你也不能用它作为安全遍历对象类型的属性路径。假设您已经有一个值
child.nestedValue
,并尝试实现
performMagic
。从Typescript 4.1开始,这是可能的