我有一个包含可接受的 mime 类型的数组:
export const frontend = {
...
zipMimeTypes: [
"application/zip",
"application/x-zip-compressed",
"multipart/x-zip",
],
} as const;
我想将它包含在另一个文件中并像这样使用它:
frontend.zipMimeTypes.includes(file.type)
但是,我的 TS 编译器提示 file.type
Argument of type 'string' is not assignable to parameter of type '"application/zip" | "application/x-zip-compressed" | "multipart/x-zip"'.
我只是这样做:
[
"application/zip",
"application/x-zip-compressed",
"multipart/x-zip",
].includes(file.type)
有效
最佳答案
问题出在 as const
中。相反,您可以定义一个接口(interface)
来与前端
一起使用:
interface Frontend {
zipMimeTypes: string[];
}
const frontend: Frontend = {
zipMimeTypes: [
"application/zip",
"application/x-zip-compressed",
"multipart/x-zip"
]
};
关于javascript - 令人困惑的编译器错误 : Argument of type 'string' is not assignable to parameter of type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69980679/