Bar*_*eyn 3 node.js object-create
与FireFox相比,Object.create在Nodejs中的工作方式不同.
假设一个像这样的对象:
objDef = {
prop1: "Property 1"
}
obj = {
prop2: "Property 2"
}
var testObj = Object.create(obj, objDef);
Run Code Online (Sandbox Code Playgroud)
上面的javascript在Mozilla中运行得很好.它基本上使用传递给Object.create的第二个参数来设置默认值.
但这在Node中不起作用.我得到的错误是TypeError: Property description must be an object: true.
如何在Node中使用它?我想基本上创建一个具有默认值的对象.
小智 7
第二个参数应将属性名称映射到属性描述符,这些属性描述符将是对象.
请参阅MDN上显示的示例:
你可以通过使用这样的东西来解决:
objDef = {
prop1: {
value: "Property 1"
}
}
Run Code Online (Sandbox Code Playgroud)
第二个参数Object.create(proto [, propertiesObject ])应该是属性描述符对象
此处描述了属性描述符结构:https: //developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object/defineProperty
这将创建一个具有默认值的属性,该默认值可以枚举和修改:
Object.create(obj, {
prop1: {
configurable:true,
enumerable:true,
value:"Property 1",
writable: true
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9001 次 |
| 最近记录: |