Javascript:如何获取对象或数组的“prototype”或“prototype”的所有属性
正如我们所知,Javascript:如何获取对象或数组的“prototype”或“prototype”的所有属性,javascript,arrays,object,prototype,Javascript,Arrays,Object,Prototype,正如我们所知,Object.keys将返回对象或数组的自身属性,但我需要数组或对象的所有属性。如果您看到下图,则[].\uuuuu proto\uuuu和{}.\uuuu proto\uuuu的所有属性都不可枚举 获取所有属性的最佳方式是什么,包括own和\uuuu proto\uuuu 获取所有属性的最佳方式是什么,包括拥有和\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu 我尝试了下面的方法,不确
Object.keys
将返回对象或数组的自身属性,但我需要数组或对象的所有属性。如果您看到下图,则[].\uuuuu proto\uuuu和{}.\uuuu proto\uuuu
的所有属性都不可枚举
获取所有属性
的最佳方式是什么,包括own
和\uuuu proto\uuuu
获取所有属性
的最佳方式是什么,包括拥有
和\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
我尝试了下面的方法,不确定是否是最好的方法
例如:
const getAllProperties=ref=>{
const own_properites=Object.keys(参考)
const proto_properties=Object.keys(Object.getOwnPropertyDescriptors(参考.u proto_uu))
返回[…自有财产,…原始财产]
}
常量对象={
姓名:“A”
};
log({objectProps:getAllProperties(object)})
常量数组=[1,2,3];
log({arrayProps:getAllProperties(array)})
您可以使用Object.getOwnPropertyNames
而不是先查看描述符,从而稍微缩短它。此外,当前方法正在获取实例的对象.keys
,但对象.keys
跳过不可枚举的属性:
constobj={};
defineProperty(obj,'foo',{value:'value'});
console.log(Object.keys(obj))代码>我打赌这些答案比参考链接更好?你怎么说@CertainPerformance