| | |
| | | 'use strict'; |
| | | var $ = require('../internals/export'); |
| | | var global = require('../internals/global'); |
| | | var fails = require('../internals/fails'); |
| | | var isArray = require('../internals/is-array'); |
| | | var isObject = require('../internals/is-object'); |
| | |
| | | var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable'); |
| | | var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; |
| | | var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded'; |
| | | var TypeError = global.TypeError; |
| | | |
| | | // We can't use this feature detection in V8 since it causes |
| | | // deoptimization and serious performance degradation |
| | |
| | | // `Array.prototype.concat` method |
| | | // https://tc39.es/ecma262/#sec-array.prototype.concat |
| | | // with adding support of @@isConcatSpreadable and @@species |
| | | $({ target: 'Array', proto: true, forced: FORCED }, { |
| | | $({ target: 'Array', proto: true, arity: 1, forced: FORCED }, { |
| | | // eslint-disable-next-line no-unused-vars -- required for `.length` |
| | | concat: function concat(arg) { |
| | | var O = toObject(this); |