2.1.51 [ECMA-262-1999] Section 15.2.2.1, new Object ( [value] )

V0085:

When the Object constructor is called with no arguments or with one argument value, the following steps are taken:

1. If value is not supplied, go to step 8.

2. If the type of value is not Object, go to step 5.

3. If the value is a native ECMAScript object, do not create a new object but simply return value.

4. If the value is a host object, then actions are taken and a result is returned in an implementation-dependent manner that may depend on the host object.

JScript 5.x simply returns value if it is a host object.

5. If the type of value is String, return ToObject(value).

6. If the type of value is Boolean, return ToObject(value).

7. If the type of value is Number, return ToObject(value).

8. (The argument value was not supplied or its type was __SafeArray, VarDate,__ Null#,# or Undefined.)

  1. Create a new native ECMAScript object.

  2. The [[Prototype]] property of the newly constructed object is set to the Object prototype object.

  3. The [[Class]] property of the newly constructed object is set to "Object".

  4. The newly constructed object has no [[Value]] property.

  5. Return the newly created native object.