我正在开发一个 Angular2 应用程序,我经常遇到以下问题:我有一个可能是的类型的对象undefined
,我需要将该对象的属性分配给多个变量或另一个对象属性,所以我通常使用 optional链接运算符来检查对象是否存在:
observable$.subscribe((object: SomeInterface | undefined) => {
this.var1 = object?.prop1;
this.var2 = object?.prop2;
this.var3 = object?.prop3;
});
但我总觉得我做了很多不必要的检查,我认为在这种情况下我可能应该使用 if 语句,如下所示:
observable$.subscribe((object: SomeInterface | undefined) => {
if (object) {
this.var1 = object.prop1;
this.var2 = object.prop2;
this.var3 = object.prop3;
}
});
但在这种情况下,我觉得阅读代码可能更难?所以我想我的问题是什么更有效(我认为是第二种选择?)从代码可读性的角度来看,什么更好用?