html隐藏标签console,javascript – console.log或utils.inspect的隐藏属性

我正在使用sails.js waterline orm.现在这不是特别的帆问题,但我必须放置一些上下文,所以当你创建一个记录时,你会得到一个创建了数据的对象.如果记录具有关联的其他记录(集合),则它具有与返回对象中的那些相关的键,但是这些键是getter / setter,即使这些相关对象不存在数据.

我简化了一些事情只是为了揭示主要观点.

这是我的用户模型:

var User = {

attributes:

status: {type:'string'}

images: {

collection: 'Image'

}

}

让我们失望,我在User模型上执行了一个创建查询,该模型具有关联的图像集合. userRecord是查询返回的内容.

如果我在console.log中显示它,它会显示与模型本身相关的属性

但不是相关的记录,即使密钥实际存在,你也可以

访问它但是对于console.log或utils.inspec是不可见的,即使将show hidden设置为true也是如此.

console.log(userRecord)

这是返回的内容

{ name: 'zaggen'}

这应该归还

{ name: 'zaggen',

images: [{

path: 'some-path/img.png'

}]

}

我可以像这样访问隐藏的属性:

console.log(userRecord.images[0].path)

// outputs some-path/img.png

这怎么可能呢?,据我所知,除了可能在__proto__对象中定义了属性,但是在这种情况下它们不是这样的时候,无法将信息隐藏到节点中的console.log.

在寻找这个之后,我没有找到任何东西,它非常奇怪,所以我认为它可能是一个很好的问题.它可以帮助我的工作过程,如果我可以console.log这个信息并获取所有数据,现在我可以使用lodash并调用克隆或默认值,我得到它应该的对象.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值