当我将接口的任何属性设为可选,并将其成员分配给其他变量时,如下所示:
interface Person {
name?: string,
age?: string,
gender?: string,
occupation?: string,
}
function getPerson() {
let person = <Person>{name:"John"};
return person;
}
let person: Person = getPerson();
let name1: string = person.name; // <<< Error here
我收到如下错误:
TS2322: Type 'string | undefined' is not assignable to type 'string'.
Type 'undefined' is not assignable to type 'string'.
我该如何解决这个错误?
您现在可以使用非空断言运算符这正是您的用例。
它告诉 TypeScript,即使某些东西看起来可能为空,它也可以相信它不是:
let name1:string = person.name!;
// ^ note the exclamation mark here
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)