es.array.of.js 770 B

1234567891011121314151617181920212223
  1. 'use strict';
  2. var $ = require('../internals/export');
  3. var fails = require('../internals/fails');
  4. var createProperty = require('../internals/create-property');
  5. var ISNT_GENERIC = fails(function () {
  6. function F() { /* empty */ }
  7. return !(Array.of.call(F) instanceof F);
  8. });
  9. // `Array.of` method
  10. // https://tc39.github.io/ecma262/#sec-array.of
  11. // WebKit Array.of isn't generic
  12. $({ target: 'Array', stat: true, forced: ISNT_GENERIC }, {
  13. of: function of(/* ...args */) {
  14. var index = 0;
  15. var argumentsLength = arguments.length;
  16. var result = new (typeof this == 'function' ? this : Array)(argumentsLength);
  17. while (argumentsLength > index) createProperty(result, index, arguments[index++]);
  18. result.length = argumentsLength;
  19. return result;
  20. }
  21. });