123456789101112131415161718192021222324252627 |
- 'use strict';
- var $ = require('../internals/export');
- var fails = require('../internals/fails');
- var isConstructor = require('../internals/is-constructor');
- var createProperty = require('../internals/create-property');
-
- var $Array = Array;
-
- var ISNT_GENERIC = fails(function () {
- function F() { /* empty */ }
- // eslint-disable-next-line es/no-array-of -- safe
- return !($Array.of.call(F) instanceof F);
- });
-
- // `Array.of` method
- // https://tc39.es/ecma262/#sec-array.of
- // WebKit Array.of isn't generic
- $({ target: 'Array', stat: true, forced: ISNT_GENERIC }, {
- of: function of(/* ...args */) {
- var index = 0;
- var argumentsLength = arguments.length;
- var result = new (isConstructor(this) ? this : $Array)(argumentsLength);
- while (argumentsLength > index) createProperty(result, index, arguments[index++]);
- result.length = argumentsLength;
- return result;
- }
- });
|