【发布时间】:2026-01-27 08:45:01
【问题描述】:
下面的sn-p没有通过类型检查:
type TaskType = 'SIMPLE' | 'COMPLEX'
interface TaskDefinition {
name: string,
task: string,
taskType: TaskType
};
const test: TaskDefinition = {
name: '',
task: '',
taskType: 'SIMPLE' // This is fine
};
const tasks : TaskDefinition[] = ["apples", "pears"].map(i => {
return {
name: i,
task: i,
taskType: 'SIMPLE' // This one is not
};
})
{ 名称:字符串;任务:字符串;任务类型:字符串; }[] 不可分配 键入 TaskDefinition[]。
似乎taskType 被推断为string 而不是TaskType,尽管目标类型是TaskDefinition
这是什么原因造成的,我该如何解决?
【问题讨论】:
标签: typescript types literals