node.js - Object.create 在 NodeJS 中

标签 node.js object-create

与 FireFox 相比,Object.create 在 Nodejs 中的工作方式不同。

假设一个对象是这样的:

objDef = {
  prop1: "Property 1"
}

obj = {
  prop2: "Property 2"
}

var testObj = Object.create(obj, objDef);

上面的 javascript 在 Mozilla 中完美运行。它基本上使用传递给 Object.create 的第二个参数来设置默认值。

但这在 Node 中不起作用。我得到的错误是 TypeError: Property description must be an object: true

我怎样才能让它在 Node 中工作?我基本上想创建一个具有默认值的对象。

最佳答案

第二个参数应该将属性名称映射到属性描述符,这些描述符是对象。

请参阅 MDN 中显示的示例:

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object/create#Using_%3CpropertiesObject%3E_argument_with_Object.create

你可以用这样的方法来解决:

objDef = {
    prop1: {
        value: "Property 1"
    }
}

关于node.js - Object.create 在 NodeJS 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14300262/

相关文章:

javascript - Object.create 原型(prototype)链

使用 Object.create 创建的 Javascript 数组 - 不是真正的数组?

javascript - 同步事件多路分解如何成为繁忙等待的解决方案?

javascript - mongodb 模式中具有不同对象类型的数组

Node.js:查询中的数组

javascript - 如何防止更改原型(prototype)?

Javascript私有(private)变量+Object.create(引用闭包变量)

JavaScript 继承 Object.create

javascript - 在 Passport.authenticate() 内部重定向时出现问题

node.js - Sequelize get random entry with association and limit, "缺少FROM子句条目