varSymbol=require('./_Symbol'),arrayMap=require('./_arrayMap'),isArray=require('./isArray'),isSymbol=require('./isSymbol');/** Used as references for various `Number` constants. */varINFINITY=1/0;/** Used to convert symbols to primitives and strings. */varsymbolProto=Symbol?Symbol.prototype:undefined,symbolToString=symbolProto?symbolProto.toString:undefined;/** * The base implementation of `_.toString` which doesn't convert nullish * values to empty strings. * * @private * @param {*} value The value to process. * @returns {string} Returns the string. */functionbaseToString(value){// Exit early for strings to avoid a performance hit in some environments.if(typeofvalue=='string'){returnvalue;}if(isArray(value)){// Recursively convert values (susceptible to call stack limits).returnarrayMap(value,baseToString)+'';}if(isSymbol(value)){returnsymbolToString?symbolToString.call(value):'';}varresult=(value+'');return(result=='0'&&(1/value)==-INFINITY)?'-0':result;}module.exports=baseToString;