Javascript属性已定义,但返回未定义

Javascript属性已定义,但返回未定义,javascript,rxjs,redux-observable,Javascript,Rxjs,Redux Observable,我有一个JSON对象: { "type": "SIGN_IN", "credentials": { "id": "mt@ft.cc", "password": "jhkl" } } 当我记录obj.cedentials时,它显示相同的对象(作为obj) 当我尝试访问id时,比如:obj.credentials.id,它返回未定义的 为什么会这样?以后会评估吗 当我记录obj.cedentials时,它显示相同的对象(与obj相同) 因此,当您记录obj.ceden

我有一个JSON对象:

{
  "type": "SIGN_IN",
  "credentials": {
    "id": "mt@ft.cc",
    "password": "jhkl"
  }
}
当我记录obj.cedentials时,它显示相同的对象(作为obj)

当我尝试访问id时,比如:
obj.credentials.id
,它返回未定义的

为什么会这样?以后会评估吗

当我记录obj.cedentials时,它显示相同的对象(与obj相同)

因此,当您记录
obj.cedentials
时,您会得到一个具有
凭证
属性的对象,该属性包含一个具有
id
属性的对象

obj.cedentials
没有自己的
id
属性


您需要
obj.cedentials.credentials.id

您的
credentials
对象包含一个
credentials
对象

因此,您需要使用以下各项:

console.log(obj.credentials.credentials.id);
{
    "credentials": {
        "type": "SIGN_IN",
        "credentials": {
            "id": "mt@ft.cc",
            "password": "jhkl"
        }
    },
    "type": "SIGN_IN",
    ...
}
obj
变量的全部内容实际上如下所示:

console.log(obj.credentials.credentials.id);
{
    "credentials": {
        "type": "SIGN_IN",
        "credentials": {
            "id": "mt@ft.cc",
            "password": "jhkl"
        }
    },
    "type": "SIGN_IN",
    ...
}

您的对象看起来像这样:

q = {
    credentials: {
        credentials: { ...id }
    }
}
因此,要访问id,您需要使用:
q.credentials.credentials.id

console.log(q.credentials.credentials.id);

您是否尝试了
obj.credentials.credentials.id
?,键入
credentials
而不是
cedentials
。我想是你借的OP中的一个打字错误。老兄,听说你喜欢证书