Typescript 如何对';s";作为常量;?
这是我的密码:Typescript 如何对';s";作为常量;?,typescript,types,Typescript,Types,这是我的密码: export type Types = 'a' | 'b'; export type MyPartials = { readonly [P in keyof Types]?: number; }; export interface MyI { readonly name: string; readonly myPartials: MyPartials; } export const myIs = [ { name: 'A', myPart
export type Types = 'a' | 'b';
export type MyPartials = {
readonly [P in keyof Types]?: number;
};
export interface MyI {
readonly name: string;
readonly myPartials: MyPartials;
}
export const myIs = [
{
name: 'A',
myPartials: {a: 5},
},
{
name: 'B',
myPartials: {},
},
{
name: 'C',
myPartials: {},
},
] as const;
const typeCheck = (arr: readonly MyI[]): void => {};
typeCheck(myIs); //error on arg
这给了我一个我无法理解的错误信息,主要是因为它太冗长了,我不知道我的眼睛应该落在哪里。这项工作的全部目的是检查数组中的每个元素是否都是
MyI
。为什么我不能将其传递到接受MyI[]
的函数中?您只需要修复MyPartials
:
export type MyPartials = {
readonly [P in Types]?: number;
};
最后一个建议使我的代码得以编译。事实上,仅此而已。无需
只读:)