'use strict'; var $ = require('../internals/export'); var uncurryThis = require('../internals/function-uncurry-this'); var fails = require('../internals/fails'); var thisNumberValue = require('../internals/this-number-value'); var un$ToPrecision = uncurryThis(1.0.toPrecision); var FORCED = fails(function () { // IE7- return un$ToPrecision(1, undefined) !== '1'; }) || !fails(function () { // V8 ~ Android 4.3- un$ToPrecision({}); }); // `Number.prototype.toPrecision` method // https://tc39.es/ecma262/#sec-number.prototype.toprecision $({ target: 'Number', proto: true, forced: FORCED }, { toPrecision: function toPrecision(precision) { return precision === undefined ? un$ToPrecision(thisNumberValue(this)) : un$ToPrecision(thisNumberValue(this), precision); } });