| 'use strict'; | 
| var fails = require('../internals/fails'); | 
| var wellKnownSymbol = require('../internals/well-known-symbol'); | 
| var V8_VERSION = require('../internals/environment-v8-version'); | 
|   | 
| var SPECIES = wellKnownSymbol('species'); | 
|   | 
| module.exports = function (METHOD_NAME) { | 
|   // We can't use this feature detection in V8 since it causes | 
|   // deoptimization and serious performance degradation | 
|   // https://github.com/zloirock/core-js/issues/677 | 
|   return V8_VERSION >= 51 || !fails(function () { | 
|     var array = []; | 
|     var constructor = array.constructor = {}; | 
|     constructor[SPECIES] = function () { | 
|       return { foo: 1 }; | 
|     }; | 
|     return array[METHOD_NAME](Boolean).foo !== 1; | 
|   }); | 
| }; |