我遇到了安全导航操作员(?)未按预期工作的问题。
task = {
title: 'Review applications',
assignee: null
};
test = this.task.assignee?.name;
产生以下错误:
TS2339:属性“名称”在类型“从不”上不存在。
当前环境
我进行了搜索并发现了类似的问题,但它涉及使用旧版本的打字稿,其中我正在使用较新的版本,并且认为此时不会存在此问题:
如何解决这个问题?
尝试定义界面突出显示打字稿,值可以存在或可以为空!否则它会根据该值推断受让人的类型为 null,这会给您带来错误!
export interface Task {
title: string;
assignee: {name:string} | null;
}
task: Task = {
title: 'Review applications',
assignee: null
};
test = this.task.assignee?.name;