Typescript获取typeof接口或类型的子字段

时间:2019-11-26 03:02:22

标签: typescript typescript-typings

给出下面声明的接口或类型,

interface Foo {
  bar: {
    a: number
    b: string
  }
}

type Foo = {
  bar: {
    a: number
    b: string
  }
}

有没有一种方法可以获取“ baz”的类型定义。这样我们可以做类似的事情

const v: keyof Foo.bar = "a";

1 个答案:

答案 0 :(得分:2)

是的,你可以喜欢

const invalid: Foo["bar"] = "a"; // Type '"a"' is not assignable to type '{ a: number; b: string; }'.(2322)
const valid: Foo["bar"] = { a: 1, b:'a' };

它适用于typeinterface。这是工作中的playground