有没有一种方法可以编写一个index.d.ts声明文件类型来定义标准js对象的类型?

时间:2020-03-03 18:56:07

标签: javascript typescript typescript-typings

让我说我有一个变量

const obj = {
    a: {
        'b': 1,
    },
    c: {
        'd': 2,
        'e': 'hello',
    }
}

我想使用一个定义为Record<'a' | 'b', typeof a object (i.e Record<'b', number>) | type of b object (i.e. Record<'d' | 'e', number | string>) >的类型,是否有一种简便的方法可以在打字稿中执行此操作,以便自动推断出这种情况?

1 个答案:

答案 0 :(得分:0)

如果您在TypeScript中声明此对象,它将推断以下类型:

ElectronBrowserClient::GetGeolocationApiKey()

如果您想要这样的更多字符串类型:

type TypeofObj = {
  a: {
    b: number;
  };
  c: {
    d: number;
    e: string;
  };
};

将对象定义为type TypeofObj = { a: { b: 1; }; c: { d: 2; e: "hello"; }; }; ,如下所示:

const