相关疑难解决方法(0)

打字稿 - 为什么不能推断出这个字符串文字类型?

以下代码段未通过类型检查:

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
    };
})
Run Code Online (Sandbox Code Playgroud)

{name:string; 任务:字符串; taskType:string; } [] 不能赋值TaskDefinition [].

试试吧

尽管目标类型存在,但它似乎taskType被推断为string而不是TaskTypeTaskDefinition

造成这种情况的原因是什么?如何解决?

types literals typescript

6
推荐指数
1
解决办法
1037
查看次数

标签 统计

literals ×1

types ×1

typescript ×1