Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对象没有';t继承属性和值_Javascript - Fatal编程技术网

Javascript 对象没有';t继承属性和值

Javascript 对象没有';t继承属性和值,javascript,Javascript,我定义了一个对象,当我实例化它时,该实例不包含父对象的属性和值 const myObject = { myNumbers: [7,32,51,2,0,9], myName: "John", myLastName: undefined, age: 26 }; const objectInstance = Object.create(myObject); console.log(myObject); //{myNumbers:

我定义了一个对象,当我实例化它时,该实例不包含父对象的属性和值

const myObject = {
    myNumbers: [7,32,51,2,0,9],
    myName: "John",
    myLastName: undefined,
    age: 26
};

const objectInstance = Object.create(myObject);

console.log(myObject);          //{myNumbers: Array(6), myName: "John", myLastName: undefined, age: 26}
console.log(objectInstance);    //{}

objectInstance记录一个空对象。我希望看到日志窗口中显示的所有属性和值。哪里出错了?

当您
console.log
一个对象时,它只显示该对象自己的属性。但是,如果要查看继承的属性,可以在控制台中展开
\uuuu proto\uuu
属性

尝试记录:

console.log(myObject);//{myNumbers:Array(6),myName:“John”,myLastName:未定义,年龄:26}
console.log(objectInstance);//{}
console.log(Object.getPrototypeOf(objectInstance));//{myNumbers:Array(6),myName:“John”,myLastName:未定义,年龄:26}

console.log通常只显示自己可枚举属性的子集。当然。你在使用什么开发工具?在Firefox中,您只需单击箭头即可展开对象,并显示
:Object{myNumbers:(6)[…],myName:“John”,age:26,…}
。Chrome显示了一个
\uuuuuu proto\uuuuuuu
,它进一步扩展为继承属性的多行列表。我使用VS代码作为编辑器(带有LiveServer插件),使用Firefox 83.0作为浏览器。我可以看到我假设对象为空的原型值,因为它显示为{},而不是在别处显示继承的属性。不推荐使用。现代的替代品是
console.dir
是更好的选择。正如目前在主要浏览器中实现的那样,
console.log
,更具体地说,它显示了自己的可枚举属性的子集。谢谢。用
Object.getPrototypeOf
更新了答案,而不是
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu