15.4.5-1.js |
---
es5id: 15.4.5-1
description: Array instances have [[Class]] set to 'Array'
--- |
394 |
15.4.5.1-5-1.js |
---
es5id: 15.4.5.1-5-1
description: >
Defining a property named 4294967295 (2**32-1)(not an array
element)
--- |
464 |
15.4.5.1-5-2.js |
---
es5id: 15.4.5.1-5-2
description: >
Defining a property named 4294967295 (2**32-1) doesn't change
length of the array
--- |
432 |
browser.js |
|
0 |
constructor.js |
---
esid: sec-array-constructor-array
description: >
The Array constructor is a built-in function
--- |
362 |
from |
|
|
fromAsync |
|
|
is-a-constructor.js |
---
esid: sec-ecmascript-standard-built-in-objects
description: >
Array 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]
--- |
818 |
isArray |
|
|
length |
|
|
length.js |
---
esid: sec-array-constructor
description: >
Array has a "length" property whose value is 1.
info: |
22.1.1 The Array Constructor
The length property of the Array constructor function is 1.
...
ES7 section 17: Unless otherwise specified, the length property of a built-in
Function object has the attributes { [[Writable]]: false, [[Enumerable]]:
false, [[Configurable]]: true }.
includes: [propertyHelper.js]
--- |
696 |
name.js |
---
esid: sec-array-constructor
description: >
The "name" property of Array
info: |
17 ECMAScript Standard Built-in Objects
Every built-in Function object, including constructors, that is not
identified as an anonymous function has a name property whose value is a
String. Unless otherwise specified, this value is the name that is given to
the function in this specification.
[...]
Unless otherwise specified, the name property of a built-in Function
object, if it exists, has the attributes { [[Writable]]: false,
[[Enumerable]]: false, [[Configurable]]: true }.
includes: [propertyHelper.js]
--- |
891 |
of |
|
|
prop-desc.js |
---
esid: sec-array-constructor
description: >
Property descriptor of Array
info: |
22.1.1 The Array Constructor
is the initial value of the Array property of the global object.
17 ECMAScript Standard Built-in Objects
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]
--- |
737 |
property-cast-boolean-primitive.js |
---
info: |
A property name P (in the form of a string value) is an array index
if and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1
es5id: 15.4_A1.1_T1
description: Checking for boolean primitive
--- |
780 |
property-cast-nan-infinity.js |
---
info: |
A property name P (in the form of a string value) is an array index
if and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1
es5id: 15.4_A1.1_T2
description: Checking for number primitive
--- |
1035 |
property-cast-number.js |
---
info: |
A property name P (in the form of a string value) is an array index
if and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1
es5id: 15.4_A1.1_T3
description: Checking for number primitive
--- |
1207 |
proto-from-ctor-realm-one.js |
---
esid: sec-array-len
description: Default [[Prototype]] value derived from realm of the NewTarget.
info: |
Array ( len )
...
3. If NewTarget is undefined, let newTarget be the active function object; else let newTarget be NewTarget.
4. Let proto be ? GetPrototypeFromConstructor(newTarget, "%Array.prototype%").
5. Let array be ! ArrayCreate(0, proto).
...
9. Return array.
GetPrototypeFromConstructor ( constructor, intrinsicDefaultProto )
...
3. Let proto be ? Get(constructor, "prototype").
4. If Type(proto) is not Object, then
a. Let realm be ? GetFunctionRealm(constructor).
b. Set proto to realm's intrinsic object named intrinsicDefaultProto.
5. Return proto.
features: [cross-realm, Reflect, Symbol]
--- |
2457 |
proto-from-ctor-realm-two.js |
---
esid: sec-array-items
description: Default [[Prototype]] value derived from realm of the NewTarget.
info: |
Array ( ...items )
...
3. If NewTarget is undefined, let newTarget be the active function object; else let newTarget be NewTarget.
4. Let proto be ? GetPrototypeFromConstructor(newTarget, "%Array.prototype%").
5. Let array be ? ArrayCreate(numberOfArgs, proto).
...
10. Return array.
GetPrototypeFromConstructor ( constructor, intrinsicDefaultProto )
...
3. Let proto be ? Get(constructor, "prototype").
4. If Type(proto) is not Object, then
a. Let realm be ? GetFunctionRealm(constructor).
b. Set proto to realm's intrinsic object named intrinsicDefaultProto.
5. Return proto.
features: [cross-realm, Reflect, Symbol]
--- |
2562 |
proto-from-ctor-realm-zero.js |
---
esid: sec-array-constructor-array
description: Default [[Prototype]] value derived from realm of the NewTarget.
info: |
Array ( )
...
3. If NewTarget is undefined, let newTarget be the active function object; else let newTarget be NewTarget.
4. Let proto be ? GetPrototypeFromConstructor(newTarget, "%Array.prototype%").
5. Return ! ArrayCreate(0, proto).
GetPrototypeFromConstructor ( constructor, intrinsicDefaultProto )
...
3. Let proto be ? Get(constructor, "prototype").
4. If Type(proto) is not Object, then
a. Let realm be ? GetFunctionRealm(constructor).
b. Set proto to realm's intrinsic object named intrinsicDefaultProto.
5. Return proto.
features: [cross-realm, Reflect, Symbol]
--- |
2435 |
proto.js |
---
esid: sec-properties-of-the-array-constructor
description: >
The prototype of the Array constructor is the intrinsic object %FunctionPrototype%.
info: |
22.1.2 Properties of the Array Constructor
The value of the [[Prototype]] internal slot of the Array constructor is the
intrinsic object %FunctionPrototype%.
--- |
617 |
prototype |
|
|
S15.4.1_A1.1_T1.js |
---
info: |
The [[Prototype]] property of the newly constructed object
is set to the original Array prototype object, the one that
is the initial value of Array.prototype
es5id: 15.4.1_A1.1_T1
description: >
Create new property of Array.prototype. When new Array object has
this property
--- |
778 |
S15.4.1_A1.1_T2.js |
---
info: |
The [[Prototype]] property of the newly constructed object
is set to the original Array prototype object, the one that
is the initial value of Array.prototype
es5id: 15.4.1_A1.1_T2
description: Array.prototype.toString = Object.prototype.toString
--- |
775 |
S15.4.1_A1.1_T3.js |
---
info: |
The [[Prototype]] property of the newly constructed object
is set to the original Array prototype object, the one that
is the initial value of Array.prototype
es5id: 15.4.1_A1.1_T3
description: Checking use isPrototypeOf
--- |
540 |
S15.4.1_A1.2_T1.js |
---
info: The [[Class]] property of the newly constructed object is set to "Array"
es5id: 15.4.1_A1.2_T1
description: Checking use Object.prototype.toString
--- |
633 |
S15.4.1_A1.3_T1.js |
---
info: |
This description of Array constructor applies if and only if
the Array constructor is given no arguments or at least two arguments
es5id: 15.4.1_A1.3_T1
description: Checking case when Array constructor is given one argument
--- |
556 |
S15.4.1_A2.1_T1.js |
---
info: |
The length property of the newly constructed object;
is set to the number of arguments
es5id: 15.4.1_A2.1_T1
description: Array constructor is given no arguments or at least two arguments
--- |
704 |
S15.4.1_A2.2_T1.js |
---
info: |
The 0 property of the newly constructed object is set to item0
(if supplied); the 1 property of the newly constructed object is set to item1
(if supplied); and, in general, for as many arguments as there are, the k property
of the newly constructed object is set to argument k, where the first argument is
considered to be argument number 0
es5id: 15.4.1_A2.2_T1
description: Checking correct work this algorithm
--- |
1215 |
S15.4.1_A3.1_T1.js |
---
info: |
When Array is called as a function rather than as a constructor,
it creates and initialises a new Array object
es5id: 15.4.1_A3.1_T1
description: Checking use typeof, instanceof
--- |
603 |
S15.4.2.1_A1.1_T1.js |
---
info: |
The [[Prototype]] property of the newly constructed object
is set to the original Array prototype object, the one that
is the initial value of Array.prototype
es5id: 15.4.2.1_A1.1_T1
description: >
Create new property of Array.prototype. When new Array object has
this property
--- |
720 |
S15.4.2.1_A1.1_T2.js |
---
info: |
The [[Prototype]] property of the newly constructed object
is set to the original Array prototype object, the one that
is the initial value of Array.prototype
es5id: 15.4.2.1_A1.1_T2
description: Array.prototype.toString = Object.prototype.toString
--- |
785 |
S15.4.2.1_A1.1_T3.js |
---
info: |
The [[Prototype]] property of the newly constructed object
is set to the original Array prototype object, the one that
is the initial value of Array.prototype
es5id: 15.4.2.1_A1.1_T3
description: Checking use isPrototypeOf
--- |
549 |
S15.4.2.1_A1.2_T1.js |
---
info: The [[Class]] property of the newly constructed object is set to "Array"
es5id: 15.4.2.1_A1.2_T1
description: Checking use Object.prototype.toString
--- |
643 |
S15.4.2.1_A1.3_T1.js |
---
info: |
This description of Array constructor applies if and only if
the Array constructor is given no arguments or at least two arguments
es5id: 15.4.2.1_A1.3_T1
description: Checking case when Array constructor is given one argument
--- |
562 |
S15.4.2.1_A2.1_T1.js |
---
info: |
The length property of the newly constructed object;
is set to the number of arguments
es5id: 15.4.2.1_A2.1_T1
description: Array constructor is given no arguments or at least two arguments
--- |
730 |
S15.4.2.1_A2.2_T1.js |
---
info: |
The 0 property of the newly constructed object is set to item0
(if supplied); the 1 property of the newly constructed object is set to item1
(if supplied); and, in general, for as many arguments as there are, the k property
of the newly constructed object is set to argument k, where the first argument is
considered to be argument number 0
es5id: 15.4.2.1_A2.2_T1
description: Checking correct work this algorithm
--- |
1221 |
S15.4.3_A1.1_T1.js |
---
info: |
The value of the internal [[Prototype]] property of
the Array constructor is the Function prototype object
es5id: 15.4.3_A1.1_T1
description: >
Create new property of Function.prototype. When Array constructor
has this property
--- |
665 |
S15.4.3_A1.1_T2.js |
---
info: |
The value of the internal [[Prototype]] property of
the Array constructor is the Function prototype object
es5id: 15.4.3_A1.1_T2
description: Function.prototype.toString = Object.prototype.toString
--- |
557 |
S15.4.3_A1.1_T3.js |
---
info: |
The value of the internal [[Prototype]] property of
the Array constructor is the Function prototype object
es5id: 15.4.3_A1.1_T3
description: Checking use isPrototypeOf
--- |
485 |
S15.4.5.1_A1.2_T2.js |
---
info: |
For every integer k that is less than the value of
the length property of A but not less than ToUint32(length),
if A itself has a property (not an inherited property) named ToString(k),
then delete that property
es5id: 15.4.5.1_A1.2_T2
description: Checking an inherited property
--- |
669 |
S15.4.5.1_A2.1_T1.js |
---
info: |
If P is not an array index, return
(Create a property with name P, set its value to V and give it empty attributes)
es5id: 15.4.5.1_A2.1_T1
description: P in [4294967295, -1, true]
--- |
896 |
S15.4.5.1_A2.2_T1.js |
---
info: |
If ToUint32(P) is less than the value of
the length property of A, then return
es5id: 15.4.5.1_A2.2_T1
description: length === 100, P in [0, 98, 99]
--- |
627 |
S15.4.5.1_A2.3_T1.js |
---
info: |
If ToUint32(P) is less than the value of
the length property of A, change (or set) length to ToUint32(P)+1
es5id: 15.4.5.1_A2.3_T1
description: length = 100, P in [100, 199]
--- |
563 |
S15.4.5.2_A1_T1.js |
---
info: |
Every Array object has a length property whose value is
always a nonnegative integer less than 2^32. The value of the length property is
numerically greater than the name of every property whose name is an array index
es5id: 15.4.5.2_A1_T1
description: Checking boundary points
--- |
956 |
S15.4.5.2_A1_T2.js |
---
info: |
Every Array object has a length property whose value is
always a nonnegative integer less than 2^32. The value of the length property is
numerically greater than the name of every property whose name is an array index
es5id: 15.4.5.2_A1_T2
description: P = "2^32 - 1" is not index array
--- |
700 |
S15.4.5.2_A2_T1.js |
---
info: |
If a property is added whose name is an array index,
the length property is changed
es5id: 15.4.5.2_A2_T1
description: Checking length property
--- |
679 |
S15.4.5.2_A3_T1.js |
---
info: |
If the length property is changed, every property whose name
is an array index whose value is not smaller than the new length is automatically deleted
es5id: 15.4.5.2_A3_T1
description: >
If new length greater than the name of every property whose name
is an array index
--- |
737 |
S15.4.5.2_A3_T2.js |
---
info: |
If the length property is changed, every property whose name
is an array index whose value is not smaller than the new length is automatically deleted
es5id: 15.4.5.2_A3_T2
description: >
If new length greater than the name of every property whose name
is an array index
--- |
1068 |
S15.4.5.2_A3_T3.js |
---
info: |
If the length property is changed, every property whose name
is an array index whose value is not smaller than the new length is automatically deleted
es5id: 15.4.5.2_A3_T3
description: "[[Put]] (length, 4294967296)"
--- |
850 |
S15.4_A1.1_T4.js |
---
info: |
A property name P (in the form of a string value) is an array index
if and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1
es5id: 15.4_A1.1_T4
description: Checking for string primitive
--- |
592 |
S15.4_A1.1_T5.js |
---
info: |
A property name P (in the form of a string value) is an array index
if and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1
es5id: 15.4_A1.1_T5
description: Checking for null and undefined
--- |
805 |
S15.4_A1.1_T6.js |
---
info: |
A property name P (in the form of a string value) is an array index
if and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1
es5id: 15.4_A1.1_T6
description: Checking for Boolean object
--- |
803 |
S15.4_A1.1_T7.js |
---
info: |
A property name P (in the form of a string value) is an array index
if and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1
es5id: 15.4_A1.1_T7
description: Checking for Number object
--- |
722 |
S15.4_A1.1_T8.js |
---
info: |
A property name P (in the form of a string value) is an array index
if and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1
es5id: 15.4_A1.1_T8
description: Checking for Number object
--- |
728 |
S15.4_A1.1_T9.js |
---
info: |
A property name P (in the form of a string value) is an array index
if and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1
es5id: 15.4_A1.1_T9
description: If Type(value) is Object, evaluate ToPrimitive(value, String)
--- |
2575 |
S15.4_A1.1_T10.js |
---
info: |
A property name P (in the form of a string value) is an array index
if and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1
es5id: 15.4_A1.1_T10
description: Array index is power of two
--- |
635 |
shell.js |
---
description: |
Test if a given function is a constructor function.
defines: [isConstructor]
features: [Reflect.construct]
--- |
596 |
Symbol.species |
|
|