javascript - 使用 Object.create() 从现有对象创建对象

标签 javascript object

嘿,看了 mdn Object.create() MDN 我试图复制他们的示例,但它不起作用

这是我尝试过的和得到的

    const oTest = {a:1,b:2}
 
    const test1 = Object.create(oTest)
 
    console.log(oTest)  //{a: 1, b: 2}
    console.log(test1 ) //{}

我希望 test1 控制 {a: 1, b: 2}

最佳答案

如评论所述,现有对象用作新创建对象的原型(prototype)。所以你不会在 console.log 中看到它(至少在 Node 中)。在 chrome 中尝试一下,__proto__ 是否具有您的 oTest 对象。 enter image description here

如果您想在新对象中复制对象属性,您可以const test2 = {...oTest}。它是传播运算符:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax

关于javascript - 使用 Object.create() 从现有对象创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54555273/

相关文章:

Javascript动态地将函数附加到对象

php - stdClass 对象和 foreach 循环

javascript - jquery 单击事件不会在 iPhone 中的按钮元素上触发

javascript - 如何防止子帧更改 "top.location.href "

javascript - 如何在 Rails 中动态更新 html 并使用帮助程序?

javascript - 如果在React中的onClick中放置两个函数,则只有其中一个可以工作

javascript - 如何使用 jquery 将元素添加到 json 的一部分

java - 如何打印我的 Java 对象而不得到 "SomeType@2f92e0f4"?

javascript - jQuery .forEach() 导致错误, "undefined is not a function"

javascript - 如何在不重复的情况下改变对象?