打字稿对象 属性 'undefined' 而不是

Typescript object property 'undefined' while it is not

我对 Typescript 还很陌生,并且正在努力解决一个看似愚蠢的问题:

我从服务中检索了一个 'agent' 对象。

this.agentsController.getAgent(matricule).subscribe({
      next: agent => {
        console.log(agent)
        console.log(agent.emailPro)
      },
      error: (error: string) => {
        console.log(error)
      }
    });

根据第一个 console.log,人口稠密 :

{
    "agent": {
        "matricule": "000001",
        "nom": "DummyName",
        "prenom": "DummyFirstname",
        "emailPro": "dummy@dummy.fr",
        "adresse1": "dummy address",
        "telephonePerso": "0000000001"
    }
}

但是正如代理人的打印件清楚地显示定义明确的电子邮件地址 (emailPro),第二个 console.log 始终显示 undefined

这怎么可能? 我错过了什么?

将评论链总结为有效回复:

我的服务将我的代理对象封装在其他一些虚拟对象中,这些虚拟对象也恰好被称为 'agent'。 因此混乱!

所以我应该调用 agent.agent.EmailPro.

而不是调用 agent.EmailPro

我选择修复我​​的服务,以便它更好地解析 API 响应:

来自this.httpClient.get('apiUrl').pipe(map((result:any) => result as Agent));

this.httpClient.get('apiUrl').pipe(map((result:any) => result.agent as Agent));

再次感谢@pietro909 & @T.J.Crowder