2.1.50 [ECMA-262/9:2018] Section 22.1.3.3 Array.prototype.copyWithin ( target, start [ , end ] )

V0203: Under certain circumstances Array.prototype.copyWithin does not throw a TypeError when it should

The specification states:

 22.1.3.3 Array.prototype.copyWithin (target, start [ , end ] )
     ...
     The following steps are taken:
         ...
         12. Repeat, while count > 0
             a. Let fromKey be ! ToString(from).
             b. Let toKey be ! ToString(to).
             c. Let fromPresent be ? HasProperty(O, fromKey).
             d. If fromPresent is true, then
                i.   Let fromVal be ? Get(O, fromKey).
                ii.  Perform ? Set(O, toKey, fromVal, true).
             e. Else fromPresent is false,
                i.   Perform ? DeletePropertyOrThrow(O, toKey).
             f. Let from be from + direction.
             g. Let to be to + direction.
             h. Let count be count − 1.
         13. Return O.

EdgeHTML Mode

The following steps are not executed:

    12. ...

        e. Else fromPresent is false,

           i.   Perform ?  DeletePropertyOrThrow(O, toKey).

As a result, under certain circumstances Array.prototype.copyWithin does not throw a TypeError when it should.