如何从Typescript中谓词类型的对象获取元素

如何从Typescript中谓词类型的对象获取元素,typescript,Typescript,希望这是有意义的,但我试图理解如何获取存在于某个类型的对象上的元素,但该元素被定义为类型谓词 即,团队定义为 let team$: Observable<ErrorModel | Team> 如何说response.code在这种情况下-即使我做了typeof,它仍然会给我那个lint错误。因为结果可以是团队或错误模型,编译器只允许您访问这两者的公共属性。您可以使用类型保护来缩小响应的类型。在这种情况下,中的类型保护: team$.subscribe(response =>

希望这是有意义的,但我试图理解如何获取存在于某个类型的对象上的元素,但该元素被定义为类型谓词

即,
团队
定义为

let team$: Observable<ErrorModel | Team>

如何说
response.code
在这种情况下-即使我做了
typeof
,它仍然会给我那个lint错误。

因为结果可以是
团队
错误模型
,编译器只允许您访问这两者的公共属性。您可以使用类型保护来缩小
响应的类型。在这种情况下,
中的
类型保护:

team$.subscribe(response => {
  if ('code' in response) console.log(response.code);
});
team$.subscribe(response => {
  if ('code' in response) console.log(response.code);
});