| assign | 
           | 
           | 
        
        
          | bigint.js | 
          ---
description: Conversion of BigInt values to Objects
esid: pending
features: [BigInt]
--- | 
          334 | 
        
        
          | browser.js | 
           | 
          0 | 
        
        
          | create | 
           | 
           | 
        
        
          | defineProperties | 
           | 
           | 
        
        
          | defineProperty | 
           | 
           | 
        
        
          | entries | 
           | 
           | 
        
        
          | freeze | 
           | 
           | 
        
        
          | fromEntries | 
           | 
           | 
        
        
          | getOwnPropertyDescriptor | 
           | 
           | 
        
        
          | getOwnPropertyDescriptors | 
           | 
           | 
        
        
          | getOwnPropertyNames | 
           | 
           | 
        
        
          | getOwnPropertySymbols | 
           | 
           | 
        
        
          | getPrototypeOf | 
           | 
           | 
        
        
          | groupBy | 
           | 
           | 
        
        
          | hasOwn | 
           | 
           | 
        
        
          | internals | 
           | 
           | 
        
        
          | is | 
           | 
           | 
        
        
          | is-a-constructor.js | 
          ---
esid: sec-ecmascript-standard-built-in-objects
description: >
  The Object constructor implements [[Construct]]
info: |
  IsConstructor ( argument )
  The abstract operation IsConstructor takes argument argument (an ECMAScript language value).
  It determines if argument is a function object with a [[Construct]] internal method.
  It performs the following steps when called:
  If Type(argument) is not Object, return false.
  If argument has a [[Construct]] internal method, return true.
  Return false.
includes: [isConstructor.js]
features: [Reflect.construct]
--- | 
          838 | 
        
        
          | isExtensible | 
           | 
           | 
        
        
          | isFrozen | 
           | 
           | 
        
        
          | isSealed | 
           | 
           | 
        
        
          | keys | 
           | 
           | 
        
        
          | preventExtensions | 
           | 
           | 
        
        
          | prop-desc.js | 
          ---
esid: sec-constructor-properties-of-the-global-object-object
description: Property descriptor for Object
info: |
  Every other data property described in clauses 18 through 26 and in Annex B.2
  has the attributes { [[Writable]]: true, [[Enumerable]]: false,
  [[Configurable]]: true } unless otherwise specified.
includes: [propertyHelper.js]
--- | 
          600 | 
        
        
          | property-order.js | 
          ---
esid: sec-createbuiltinfunction
description: Object constructor property order
info: |
  Set order: "length", "name", ...
--- | 
          565 | 
        
        
          | proto-from-ctor-realm.js | 
          ---
esid: sec-object-value
description: Default [[Prototype]] value derived from realm of the newTarget
info: |
    1. If NewTarget is neither undefined nor the active function, then
       a. Return ? OrdinaryCreateFromConstructor(NewTarget, "%ObjectPrototype%").
    9.1.14 GetPrototypeFromConstructor
    [...]
    3. Let proto be ? Get(constructor, "prototype").
    4. If Type(proto) is not Object, then
       a. Let realm be ? GetFunctionRealm(constructor).
       b. Let proto be realm's intrinsic object named intrinsicDefaultProto.
    [...]
features: [cross-realm, Reflect]
--- | 
          957 | 
        
        
          | prototype | 
           | 
           | 
        
        
          | S9.9_A3.js | 
          ---
info: |
    ToObject conversion from Boolean: create a new Boolean object
    whose [[value]] property is set to the value of the boolean
es5id: 9.9_A3
description: Trying to convert from Boolean to Object
--- | 
          1162 | 
        
        
          | S9.9_A4.js | 
          ---
info: |
    ToObject conversion from Number: create a new Number object
    whose [[value]] property is set to the value of the number
es5id: 9.9_A4
description: Converting from various numbers to Object
--- | 
          5198 | 
        
        
          | S9.9_A5.js | 
          ---
info: |
    ToObject conversion from String: create a new String object
    whose [[value]] property is set to the value of the string
es5id: 9.9_A5
description: Converting from various strings to Object
--- | 
          2109 | 
        
        
          | S9.9_A6.js | 
          ---
info: |
    ToObject conversion from Object: The result is the input
    argument (no conversion)
es5id: 9.9_A6
description: Converting from Objects to Object
--- | 
          933 | 
        
        
          | S15.2.1.1_A1_T1.js | 
          ---
info: |
    When the Object(value) is called and the value is null, undefined or not supplied,
    create and return a new Object object if the object constructor had been called with the same arguments (15.2.2.1)
es5id: 15.2.1.1_A1_T1
description: Creating Object(null) and checking its properties
--- | 
          1240 | 
        
        
          | S15.2.1.1_A1_T2.js | 
          ---
info: |
    When the Object(value) is called and the value is null, undefined or not supplied,
    create and return a new Object object if the object constructor had been called with the same arguments (15.2.2.1)
es5id: 15.2.1.1_A1_T2
description: Creating Object(void 0) and checking its properties
--- | 
          1265 | 
        
        
          | S15.2.1.1_A1_T3.js | 
          ---
info: |
    When the Object(value) is called and the value is null, undefined or not supplied,
    create and return a new Object object if the object constructor had been called with the same arguments (15.2.2.1)
es5id: 15.2.1.1_A1_T3
description: Creating Object() and checking its properties
--- | 
          1228 | 
        
        
          | S15.2.1.1_A1_T4.js | 
          ---
info: |
    When the Object(value) is called and the value is null, undefined or not supplied,
    create and return a new Object object if the object constructor had been called with the same arguments (15.2.2.1)
es5id: 15.2.1.1_A1_T4
description: Creating Object(undefined) and checking its properties
--- | 
          1255 | 
        
        
          | S15.2.1.1_A1_T5.js | 
          ---
info: |
    When the Object(value) is called and the value is null, undefined or not supplied,
    create and return a new Object object if the object constructor had been called with the same arguments (15.2.2.1)
es5id: 15.2.1.1_A1_T5
description: Creating Object(x) and checking its properties
--- | 
          1239 | 
        
        
          | S15.2.1.1_A2_T1.js | 
          ---
info: |
    When the Object function is called with one argument value,
    and the value neither is null nor undefined, and is supplied, return ToObject(value)
es5id: 15.2.1.1_A2_T1
description: Calling Object function with boolean argument value
--- | 
          898 | 
        
        
          | S15.2.1.1_A2_T2.js | 
          ---
info: |
    When the Object function is called with one argument value,
    and the value neither is null nor undefined, and is supplied, return ToObject(value)
es5id: 15.2.1.1_A2_T2
description: Calling Object function with number argument value
--- | 
          911 | 
        
        
          | S15.2.1.1_A2_T3.js | 
          ---
info: |
    When the Object function is called with one argument value,
    and the value neither is null nor undefined, and is supplied, return ToObject(value)
es5id: 15.2.1.1_A2_T3
description: Calling Object function with string argument value
--- | 
          975 | 
        
        
          | S15.2.1.1_A2_T4.js | 
          ---
info: |
    When the Object function is called with one argument value,
    and the value neither is null nor undefined, and is supplied, return ToObject(value)
es5id: 15.2.1.1_A2_T4
description: Calling Object function with object argument value
--- | 
          739 | 
        
        
          | S15.2.1.1_A2_T5.js | 
          ---
info: |
    When the Object function is called with one argument value,
    and the value neither is null nor undefined, and is supplied, return ToObject(value)
es5id: 15.2.1.1_A2_T5
description: Calling Object function with NaN argument value
--- | 
          761 | 
        
        
          | S15.2.1.1_A2_T6.js | 
          ---
info: |
    When the Object function is called with one argument value,
    and the value neither is null nor undefined, and is supplied, return ToObject(value)
es5id: 15.2.1.1_A2_T6
description: Calling Object function with Infinity argument value
--- | 
          959 | 
        
        
          | S15.2.1.1_A2_T7.js | 
          ---
info: |
    When the Object function is called with one argument value,
    and the value neither is null nor undefined, and is supplied, return ToObject(value)
es5id: 15.2.1.1_A2_T7
description: Calling Object function with empty string argument value
--- | 
          913 | 
        
        
          | S15.2.1.1_A2_T8.js | 
          ---
info: |
    When the Object function is called with one argument value,
    and the value neither is null nor undefined, and is supplied, return ToObject(value)
es5id: 15.2.1.1_A2_T8
description: Calling Object function with function variable argument value
--- | 
          743 | 
        
        
          | S15.2.1.1_A2_T9.js | 
          ---
info: |
    When the Object function is called with one argument value,
    and the value neither is null nor undefined, and is supplied, return ToObject(value)
es5id: 15.2.1.1_A2_T9
description: >
    Calling Object function with function argument value. The function
    is declared
--- | 
          762 | 
        
        
          | S15.2.1.1_A2_T10.js | 
          ---
info: |
    When the Object function is called with one argument value,
    and the value neither is null nor undefined, and is supplied, return ToObject(value)
es5id: 15.2.1.1_A2_T10
description: Calling Object function with array of numbers as argument value
--- | 
          754 | 
        
        
          | S15.2.1.1_A2_T11.js | 
          ---
info: |
    When the Object function is called with one argument value,
    and the value neither is null nor undefined, and is supplied, return ToObject(value)
es5id: 15.2.1.1_A2_T11
description: Calling Object function with function declaration as argument value
--- | 
          882 | 
        
        
          | S15.2.1.1_A2_T12.js | 
          ---
info: |
    When the Object function is called with one argument value,
    and the value neither is null nor undefined, and is supplied, return ToObject(value)
es5id: 15.2.1.1_A2_T12
description: Calling Object function with numeric expression as argument value
--- | 
          845 | 
        
        
          | S15.2.1.1_A2_T13.js | 
          ---
info: |
    When the Object function is called with one argument value,
    and the value neither is null nor undefined, and is supplied, return ToObject(value)
es5id: 15.2.1.1_A2_T13
description: Calling Object function with boolean expression as argument value
--- | 
          811 | 
        
        
          | S15.2.1.1_A2_T14.js | 
          ---
info: |
    When the Object function is called with one argument value,
    and the value neither is null nor undefined, and is supplied, return ToObject(value)
es5id: 15.2.1.1_A2_T14
description: >
    Calling Object function with sum of empty string and a number as
    argument value
--- | 
          840 | 
        
        
          | S15.2.1.1_A3_T1.js | 
          ---
info: |
    Since calling Object as a function is identical to calling a function,
    list of arguments bracketing is allowed
es5id: 15.2.1.1_A3_T1
description: Creating an object with "Object(1,2,3)"
--- | 
          750 | 
        
        
          | S15.2.1.1_A3_T2.js | 
          ---
info: |
    Since calling Object as a function is identical to calling a function,
    list of arguments bracketing is allowed
es5id: 15.2.1.1_A3_T2
description: Creating an object with "Object(null,2,3)"
--- | 
          616 | 
        
        
          | S15.2.1.1_A3_T3.js | 
          ---
info: |
    Since calling Object as a function is identical to calling a function,
    list of arguments bracketing is allowed
es5id: 15.2.1.1_A3_T3
description: Creating an object with "Object((null,2,3),1,2)"
--- | 
          770 | 
        
        
          | S15.2.2.1_A1_T1.js | 
          ---
info: |
    When the Object constructor is called with no arguments the following steps are taken:
    (The argument value was not supplied or its type was Null or Undefined.)
    i)	Create a new native ECMAScript object.
    ii) 	The [[Prototype]] property of the newly constructed object is set to the Object prototype object.
    iii) 	The [[Class]] property of the newly constructed object is set to "Object".
    iv) 	The newly constructed object has no [[Value]] property.
    v) 	Return the newly created native object
es5id: 15.2.2.1_A1_T1
description: Creating new Object() and checking its properties
--- | 
          1472 | 
        
        
          | S15.2.2.1_A1_T2.js | 
          ---
info: |
    When the Object constructor is called with no arguments the following steps are taken:
    (The argument value was not supplied or its type was Null or Undefined.)
    i)	Create a new native ECMAScript object.
    ii) 	The [[Prototype]] property of the newly constructed object is set to the Object prototype object.
    iii) 	The [[Class]] property of the newly constructed object is set to "Object".
    iv) 	The newly constructed object has no [[Value]] property.
    v) 	Return the newly created native object
es5id: 15.2.2.1_A1_T2
description: Creating new Object(void 0) and checking its properties
--- | 
          1504 | 
        
        
          | S15.2.2.1_A1_T3.js | 
          ---
info: |
    When the Object constructor is called with no arguments the following steps are taken:
    (The argument value was not supplied or its type was Null or Undefined.)
    i)	Create a new native ECMAScript object.
    ii) 	The [[Prototype]] property of the newly constructed object is set to the Object prototype object.
    iii) 	The [[Class]] property of the newly constructed object is set to "Object".
    iv) 	The newly constructed object has no [[Value]] property.
    v) 	Return the newly created native object
es5id: 15.2.2.1_A1_T3
description: Creating new Object(null) and checking its properties
--- | 
          1480 | 
        
        
          | S15.2.2.1_A1_T4.js | 
          ---
info: |
    When the Object constructor is called with no arguments the following steps are taken:
    (The argument value was not supplied or its type was Null or Undefined.)
    i)	Create a new native ECMAScript object.
    ii) 	The [[Prototype]] property of the newly constructed object is set to the Object prototype object.
    iii) 	The [[Class]] property of the newly constructed object is set to "Object".
    iv) 	The newly constructed object has no [[Value]] property.
    v) 	Return the newly created native object
es5id: 15.2.2.1_A1_T4
description: Creating new Object(undefined) and checking its properties
--- | 
          1490 | 
        
        
          | S15.2.2.1_A1_T5.js | 
          ---
info: |
    When the Object constructor is called with no arguments the following steps are taken:
    (The argument value was not supplied or its type was Null or Undefined.)
    i)	Create a new native ECMAScript object.
    ii) 	The [[Prototype]] property of the newly constructed object is set to the Object prototype object.
    iii) 	The [[Class]] property of the newly constructed object is set to "Object".
    iv) 	The newly constructed object has no [[Value]] property.
    v) 	Return the newly created native object
es5id: 15.2.2.1_A1_T5
description: >
    Creating new Object(x), where x is "undefined", and checking it
    properties
--- | 
          1516 | 
        
        
          | S15.2.2.1_A2_T1.js | 
          ---
info: |
    When the Object constructor is called with one argument value and
    the value is a native ECMAScript object, do not create a new object but simply return value
es5id: 15.2.2.1_A2_T1
description: The value is Object
--- | 
          629 | 
        
        
          | S15.2.2.1_A2_T2.js | 
          ---
info: |
    When the Object constructor is called with one argument value and
    the value is a native ECMAScript object, do not create a new object but simply return value
es5id: 15.2.2.1_A2_T2
description: The value is a function variable
--- | 
          628 | 
        
        
          | S15.2.2.1_A2_T3.js | 
          ---
info: |
    When the Object constructor is called with one argument value and
    the value is a native ECMAScript object, do not create a new object but simply return value
es5id: 15.2.2.1_A2_T3
description: The value is an array
--- | 
          631 | 
        
        
          | S15.2.2.1_A2_T5.js | 
          ---
info: |
    When the Object constructor is called with one argument value and
    the value is a native ECMAScript object, do not create a new object but simply return value
es5id: 15.2.2.1_A2_T5
description: The value is a Date object
--- | 
          712 | 
        
        
          | S15.2.2.1_A2_T6.js | 
          ---
info: |
    When the Object constructor is called with one argument value and
    the value is a native ECMAScript object, do not create a new object but simply return value
es5id: 15.2.2.1_A2_T6
description: The value is a declared function
--- | 
          621 | 
        
        
          | S15.2.2.1_A2_T7.js | 
          ---
info: |
    When the Object constructor is called with one argument value and
    the value is a native ECMAScript object, do not create a new object but simply return value
es5id: 15.2.2.1_A2_T7
description: The value is a function declaration
--- | 
          867 | 
        
        
          | S15.2.2.1_A3_T1.js | 
          ---
info: |
    When the Object constructor is called with one argument value and
    the type of value is String, return ToObject(string)
es5id: 15.2.2.1_A3_T1
description: Argument value is a nonempty string
--- | 
          938 | 
        
        
          | S15.2.2.1_A3_T2.js | 
          ---
info: |
    When the Object constructor is called with one argument value and
    the type of value is String, return ToObject(string)
es5id: 15.2.2.1_A3_T2
description: Argument value is an empty string
--- | 
          921 | 
        
        
          | S15.2.2.1_A3_T3.js | 
          ---
info: |
    When the Object constructor is called with one argument value and
    the type of value is String, return ToObject(string)
es5id: 15.2.2.1_A3_T3
description: Argument value is sum of empty string and number
--- | 
          794 | 
        
        
          | S15.2.2.1_A4_T1.js | 
          ---
info: |
    When the Object constructor is called with one argument value and
    the type of value is Boolean, return ToObject(boolean)
es5id: 15.2.2.1_A4_T1
description: Argument value is "true"
--- | 
          937 | 
        
        
          | S15.2.2.1_A4_T2.js | 
          ---
info: |
    When the Object constructor is called with one argument value and
    the type of value is Boolean, return ToObject(boolean)
es5id: 15.2.2.1_A4_T2
description: Argument value is "false"
--- | 
          939 | 
        
        
          | S15.2.2.1_A4_T3.js | 
          ---
info: |
    When the Object constructor is called with one argument value and
    the type of value is Boolean, return ToObject(boolean)
es5id: 15.2.2.1_A4_T3
description: Argument value is boolean expression
--- | 
          814 | 
        
        
          | S15.2.2.1_A5_T1.js | 
          ---
info: |
    When the Object constructor is called with one argument value and
    the type of value is Number, return ToObject(number)
es5id: 15.2.2.1_A5_T1
description: Argument value is any number
--- | 
          917 | 
        
        
          | S15.2.2.1_A5_T2.js | 
          ---
info: |
    When the Object constructor is called with one argument value and
    the type of value is Number, return ToObject(number)
es5id: 15.2.2.1_A5_T2
description: Argument value is NaN
--- | 
          723 | 
        
        
          | S15.2.2.1_A5_T3.js | 
          ---
info: |
    When the Object constructor is called with one argument value and
    the type of value is Number, return ToObject(number)
es5id: 15.2.2.1_A5_T3
description: Argument value is Infinity
--- | 
          920 | 
        
        
          | S15.2.2.1_A5_T4.js | 
          ---
info: |
    When the Object constructor is called with one argument value and
    the type of value is Number, return ToObject(number)
es5id: 15.2.2.1_A5_T4
description: Argument value is numeric expression
--- | 
          801 | 
        
        
          | S15.2.2.1_A6_T1.js | 
          ---
info: |
    Since calling Object as a function is identical to calling a function,
    list of arguments bracketing is allowed
es5id: 15.2.2.1_A6_T1
description: Creating an object with "new Object(1,2,3)"
--- | 
          757 | 
        
        
          | S15.2.2.1_A6_T2.js | 
          ---
info: |
    Since calling Object as a function is identical to calling a function,
    list of arguments bracketing is allowed
es5id: 15.2.2.1_A6_T2
description: Creating an object with "new Object(null,2,3)"
--- | 
          624 | 
        
        
          | S15.2.2.1_A6_T3.js | 
          ---
info: |
    Since calling Object as a function is identical to calling a function,
    list of arguments bracketing is allowed
es5id: 15.2.2.1_A6_T3
description: Creating an object with "new Object((null,2,3),2,3)"
--- | 
          776 | 
        
        
          | S15.2.3_A1.js | 
          ---
info: The Object constructor has the property "prototype"
es5id: 15.2.3_A1
description: Checking existence of the property "prototype"
--- | 
          430 | 
        
        
          | S15.2.3_A2.js | 
          ---
info: |
    The value of the internal [[Prototype]] property of the Object constructor
    is the Function prototype object
es5id: 15.2.3_A2
description: Checking Function.prototype.isPrototypeOf(Object)
--- | 
          511 | 
        
        
          | S15.2.3_A3.js | 
          ---
info: Object constructor has length property whose value is 1
es5id: 15.2.3_A3
description: Checking Object.length
--- | 
          493 | 
        
        
          | S15.2_A1.js | 
          ---
info: Object is the property of global
es5id: 15.2_A1
description: Checking if Object equals to this.Object
--- | 
          417 | 
        
        
          | seal | 
           | 
           | 
        
        
          | setPrototypeOf | 
           | 
           | 
        
        
          | shell.js | 
          ---
description: |
    Test if a given function is a constructor function.
defines: [isConstructor]
features: [Reflect.construct]
--- | 
          596 | 
        
        
          | subclass-object-arg.js | 
          ---
esid: sec-object-value
author: Matthew Phillips <matthew@matthewphillips.info>
description: >
  NewTarget is active function and subclass of Object
info: |
  Object ( [ value ] )
  1. If NewTarget is neither undefined nor the active function, then
    a. Return ? OrdinaryCreateFromConstructor(NewTarget, "%ObjectPrototype%").
  [...]
features: [class, Reflect, Reflect.construct]
--- | 
          836 | 
        
        
          | symbol_object-returns-fresh-symbol.js | 
          ---
es6id: 19.1.1.1_S3
description: >
    Object(sym) returns a fresh Symbol object
features: [Symbol]
--- | 
          489 | 
        
        
          | values | 
           | 
           |