| | |
| | | 'use strict'; |
| | | var $ = require('../internals/export'); |
| | | var uncurryThis = require('../internals/function-uncurry-this'); |
| | | var IndexedObject = require('../internals/indexed-object'); |
| | | var toIndexedObject = require('../internals/to-indexed-object'); |
| | | var arrayMethodIsStrict = require('../internals/array-method-is-strict'); |
| | | |
| | | var nativeJoin = [].join; |
| | | var un$Join = uncurryThis([].join); |
| | | |
| | | var ES3_STRINGS = IndexedObject != Object; |
| | | var STRICT_METHOD = arrayMethodIsStrict('join', ','); |
| | |
| | | // https://tc39.es/ecma262/#sec-array.prototype.join |
| | | $({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, { |
| | | join: function join(separator) { |
| | | return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator); |
| | | return un$Join(toIndexedObject(this), separator === undefined ? ',' : separator); |
| | | } |
| | | }); |