Cha*_*ion 9

这是直接从ECMAScript规范中提取的:

15.2.1作为函数调用的对象构造函数

当Object作为函数而不是构造函数调用时,它执行类型转换.

15.2.1.1对象([值])

如果在没有参数或具有一个参数值的情况下调用Object函数,则执行以下步骤:

  1. 如果value为null,undefined或not provided,则创建并返回一个新的Object对象,就像使用相同的参数调用标准的内置Object构造函数一样(15.2.2.1).

    简而言之: new Object([ value ])

  2. 返回ToObject(值).

笔记:

[]是将参数标记为可选的常用方法.

ToObject是一个非常简单的操作,在第9.9节中定义.

  • 那么`Object()`和`new Object()`之间没有区别? (2认同)
  • @Jens - 最终结果是一样的.唯一的区别是一个重定向到内部方法的层**构造**. (2认同)