2 var $export = require('./_export')
3 , aFunction = require('./_a-function')
4 , toObject = require('./_to-object')
5 , fails = require('./_fails')
9 $export($export.P + $export.F * (fails(function(){
12 }) || !fails(function(){
16 }) || !require('./_strict-method')($sort)), 'Array', {
17 // 22.1.3.25 Array.prototype.sort(comparefn)
18 sort: function sort(comparefn){
19 return comparefn === undefined
20 ? $sort.call(toObject(this))
21 : $sort.call(toObject(this), aFunction(comparefn));