9.1.12 ObjectCreate ( proto [ , internalSlotsList ] )
对于每个自己的属性键使用参数 proto(一个对象或 null)的抽象操作 ObjectCreate 用于指定新普通对象的运行时创建。 可选参数 internalSlotsList 是必须定义为对象一部分的其他内部插槽的名称 List 。 如果未提供列表,则使用新的空 List。 该抽象操作执行以下步骤:属于符号的 O 的 P,按照属性创建的按时间顺序排列。
- 如果没有提供 internalSlotsList,则让 internalSlotsList 是一个新的空 List。
- 让 obj 是一个新创建的对象,在 internalSlotsList 中为每个名称都有一个内部槽。
- 将 obj 的必要内部方法设置为 9.1 中指定的默认普通对象定义。
- 设置 obj.[[Prototype]] 为 proto。
- 设置 obj.[[Extensible]] 为true。
- 返回 obj。