猿问

请问无法访问Object属性,即使它显示在控制台日志中

无法访问Object属性,即使它显示在控制台日志中

下面,您可以看到这两个日志的输出。第一个示例清楚地显示了具有我要访问的属性的完整对象,但在下一行代码中,我无法使用config.col_id_3(请参阅屏幕截图中的“未定义”?)有人能解释一下吗?除了field_id_4也是。

console.log(config);console.log(config.col_id_3);

这就是这些行在控制台中打印的内容。


临摹微笑
浏览 454回答 3
3回答

猛跑小猪

.的输出console.log(anObject)是误导性的;只有在展开>在控制台里。它是不对象的状态console.log把物体弄坏了。相反,试一试console.log(Object.keys(config)),甚至console.log(JSON.stringify(config))在调用时,您将看到键或对象的状态。console.log.您(通常)会发现正在添加密钥。后你的console.log打电话。

牛魔王的故事

我刚刚在从MongoDB加载的一个文档中遇到了这个问题猫鼬.跑步时console.log()在整个对象上,所有文档字段(存储在db中)都会显示出来。但是,一些单独的属性访问器将返回undefined,当其他人(包括_id)工作得很好。结果显示,属性访问器仅适用于mongoose.Schema(...)定义,鉴于console.log()和JSON.stringify()返回数据库中存储的所有字段。解决方案(如果你使用的是猫鼬)确保所有db字段都定义在mongoose.Schema(...).
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答