开发者问题收集

如何告诉 JavaScript 变量在创建时不能未定义

2022-09-08
36
getPersonneById(id: number): Personne{
    const personne = this.personnes.find( personne => {
      return personne.id == id;
    });
    return personne;
}

显示此错误:无法将类型“Person | undefined”分配给类型“Person”。 无法将类型“undefined”分配给类型“Person”。

我也做了这个,它有效,但这不是我真正想要的:

getPersonneById(id: number): Personne{
    const personne = this.personnes.find( personne => {
      return personne.id == id;
    });
    if(typeof personne !== 'undefined'){
      return personne;
    }else{
      return this.personnes['0'];
    }
}

personnes 是一个数组。

所以我想知道是否有办法告诉我的 var 它不能是未定义的,或者有更好的解决方案

1个回答

如果您知道某个值始终可以通过 find 找到,请使用 非空断言运算符 在 TypeScript 中表达该保证:

return personne!;
2022-09-08