我们可以在TypeScript中编写一个泛型类型,将Record转换为当我们指定`as const`时获得的类型吗?

2w2cym1i  于 2023-05-19  发布在  TypeScript
关注(0)|答案(1)|浏览(137)

假设我有const foo = { myKey: 'myValue' } as const
typeof foo{ readonly myKey: 'myValue' }
如果我的类型是MyType = Record<string, string>,我想写一个修饰符(比如说Modify),它遵循…
type ModifiedMyType = Modify<MyType>
const foo: ModifiedMyType = { myKey: 'myValue' }
在这种情况下,我NOT像以前一样将其指定为const。但是,我希望typeof foo{ readonly myKey: 'myValue' }

m4pnthwp

m4pnthwp1#

将Map类型与只读修饰符沿着使用。

type Modify<T> = {
  readonly [K in keyof T]: T[K];
};

type MyType = Record<string, string>;
type ModifiedMyType = Modify<MyType>;

const foo: ModifiedMyType = { myKey: 'myValue' };

相关问题