// Copyright 2018 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. { class MyArray extends Array { static get [Symbol.species]() { return Array; } } const wannabe = new MyArray(); const flattened = wannabe.flat(Infinity); assertEquals(false, flattened instanceof MyArray); assertEquals(true, flattened instanceof Array); } { class MyArray extends Array { static get [Symbol.species]() { return this; } } const wannabe = new MyArray(); const flattened = wannabe.flat(Infinity); assertEquals(true, flattened instanceof MyArray); assertEquals(true, flattened instanceof Array); }