【发布时间】:2019-09-07 17:13:11
【问题描述】:
假设我创建一个对象如下
const myObj1 = {
firstName: "Shaheb",
lastName: "Ali",
professions:"Web Developer"
}
并用上面的对象创建另一个对象作为原型对象添加
const myObj2 = Object.create(myObj1, {
age:{
value:33
},
edu:{
value: "MBA"
}
});
现在我想同时计算两个对象的长度,我该怎么做?
【问题讨论】:
-
您的两个对象都没有
.length。你到底要数什么?预期的结果是什么? -
对象真的没有长度,我想你想计算键的数量但是在这种情况下你可以使用
Object.keys(myObj2).length -
@shaheb 我的建议有帮助吗?
-
@shaheb 不,它不显示 0,因为(某些)键在原型上。它显示为 0,因为
myObj2自己的键是 not enumerable。 -
@shaheb 你不想要使用
Object.create的动态原型继承吗?顺便说一句,仅仅因为您的size函数不计算它们并不意味着您不能访问这些属性。myObj2.lastName和myObj2.edu工作得很好。
标签: javascript object prototype