@@ -39362,7 +39362,7 @@ <h1>Array ( ..._values_ )</h1>
3936239362 1. Let _numberOfArgs_ be the number of elements in _values_.
3936339363 1. If _numberOfArgs_ = 0, then
3936439364 1. Return ! ArrayCreate(0, _proto_).
39365- 1. Else if _numberOfArgs_ = 1, then
39365+ 1. If _numberOfArgs_ = 1, then
3936639366 1. Let _len_ be _values_[0].
3936739367 1. Let _array_ be ! ArrayCreate(0, _proto_).
3936839368 1. If _len_ is not a Number, then
@@ -39373,17 +39373,16 @@ <h1>Array ( ..._values_ )</h1>
3937339373 1. If SameValueZero(_intLen_, _len_) is *false*, throw a *RangeError* exception.
3937439374 1. Perform ! Set(_array_, *"length"*, _intLen_, *true*).
3937539375 1. Return _array_.
39376- 1. Else,
39377- 1. Assert: _numberOfArgs_ ≥ 2.
39378- 1. Let _array_ be ? ArrayCreate(_numberOfArgs_, _proto_).
39379- 1. Let _k_ be 0.
39380- 1. Repeat, while _k_ < _numberOfArgs_,
39381- 1. Let _Pk_ be ! ToString(𝔽(_k_)).
39382- 1. Let _itemK_ be _values_[_k_].
39383- 1. Perform ! CreateDataPropertyOrThrow(_array_, _Pk_, _itemK_).
39384- 1. Set _k_ to _k_ + 1.
39385- 1. Assert: The mathematical value of _array_'s *"length"* property is _numberOfArgs_.
39386- 1. Return _array_.
39376+ 1. Assert: _numberOfArgs_ ≥ 2.
39377+ 1. Let _array_ be ? ArrayCreate(_numberOfArgs_, _proto_).
39378+ 1. Let _k_ be 0.
39379+ 1. Repeat, while _k_ < _numberOfArgs_,
39380+ 1. Let _Pk_ be ! ToString(𝔽(_k_)).
39381+ 1. Let _itemK_ be _values_[_k_].
39382+ 1. Perform ! CreateDataPropertyOrThrow(_array_, _Pk_, _itemK_).
39383+ 1. Set _k_ to _k_ + 1.
39384+ 1. Assert: The mathematical value of _array_'s *"length"* property is _numberOfArgs_.
39385+ 1. Return _array_.
3938739386 </emu-alg>
3938839387 </emu-clause>
3938939388 </emu-clause>
@@ -42286,30 +42285,27 @@ <h1>_TypedArray_ ( ..._args_ )</h1>
4228642285 1. Let _numberOfArgs_ be the number of elements in _args_.
4228742286 1. If _numberOfArgs_ = 0, then
4228842287 1. Return ? AllocateTypedArray(_constructorName_, NewTarget, _proto_, 0).
42289- 1. Else,
42290- 1. Let _firstArgument_ be _args_[0].
42291- 1. If _firstArgument_ is an Object, then
42292- 1. Let _O_ be ? AllocateTypedArray(_constructorName_, NewTarget, _proto_).
42293- 1. If _firstArgument_ has a [[TypedArrayName]] internal slot, then
42294- 1. Perform ? InitializeTypedArrayFromTypedArray(_O_, _firstArgument_).
42295- 1. Else if _firstArgument_ has an [[ArrayBufferData]] internal slot, then
42296- 1. If _numberOfArgs_ > 1, let _byteOffset_ be _args_[1]; else let _byteOffset_ be *undefined*.
42297- 1. If _numberOfArgs_ > 2, let _length_ be _args_[2]; else let _length_ be *undefined*.
42298- 1. Perform ? InitializeTypedArrayFromArrayBuffer(_O_, _firstArgument_, _byteOffset_, _length_).
42299- 1. Else,
42300- 1. Assert: _firstArgument_ is an Object and _firstArgument_ does not have either a [[TypedArrayName]] or an [[ArrayBufferData]] internal slot.
42301- 1. Let _usingIterator_ be ? GetMethod(_firstArgument_, %Symbol.iterator%).
42302- 1. If _usingIterator_ is not *undefined*, then
42303- 1. Let _values_ be ? IteratorToList(? GetIteratorFromMethod(_firstArgument_, _usingIterator_)).
42304- 1. Perform ? InitializeTypedArrayFromList(_O_, _values_).
42305- 1. Else,
42306- 1. NOTE: _firstArgument_ is not an iterable object, so assume it is already an array-like object.
42307- 1. Perform ? InitializeTypedArrayFromArrayLike(_O_, _firstArgument_).
42308- 1. Return _O_.
42288+ 1. Let _firstArgument_ be _args_[0].
42289+ 1. If _firstArgument_ is an Object, then
42290+ 1. Let _O_ be ? AllocateTypedArray(_constructorName_, NewTarget, _proto_).
42291+ 1. If _firstArgument_ has a [[TypedArrayName]] internal slot, then
42292+ 1. Perform ? InitializeTypedArrayFromTypedArray(_O_, _firstArgument_).
42293+ 1. Else if _firstArgument_ has an [[ArrayBufferData]] internal slot, then
42294+ 1. If _numberOfArgs_ > 1, let _byteOffset_ be _args_[1]; else let _byteOffset_ be *undefined*.
42295+ 1. If _numberOfArgs_ > 2, let _length_ be _args_[2]; else let _length_ be *undefined*.
42296+ 1. Perform ? InitializeTypedArrayFromArrayBuffer(_O_, _firstArgument_, _byteOffset_, _length_).
4230942297 1. Else,
42310- 1. Assert: _firstArgument_ is not an Object.
42311- 1. Let _elementLength_ be ? ToIndex(_firstArgument_).
42312- 1. Return ? AllocateTypedArray(_constructorName_, NewTarget, _proto_, _elementLength_).
42298+ 1. Let _usingIterator_ be ? GetMethod(_firstArgument_, %Symbol.iterator%).
42299+ 1. If _usingIterator_ is not *undefined*, then
42300+ 1. Let _values_ be ? IteratorToList(? GetIteratorFromMethod(_firstArgument_, _usingIterator_)).
42301+ 1. Perform ? InitializeTypedArrayFromList(_O_, _values_).
42302+ 1. Else,
42303+ 1. NOTE: _firstArgument_ is not an iterable object, so assume it is already an array-like object.
42304+ 1. Perform ? InitializeTypedArrayFromArrayLike(_O_, _firstArgument_).
42305+ 1. Return _O_.
42306+ 1. Assert: _firstArgument_ is not an Object.
42307+ 1. Let _elementLength_ be ? ToIndex(_firstArgument_).
42308+ 1. Return ? AllocateTypedArray(_constructorName_, NewTarget, _proto_, _elementLength_).
4231342309 </emu-alg>
4231442310
4231542311 <emu-clause id="sec-allocatetypedarray" type="abstract operation">
0 commit comments