ut2
Version:
一个现代 JavaScript 实用工具库。[点击查看在线文档]。
27 lines (23 loc) • 755 B
JavaScript
;
var native = require('./internals/native.js');
var isArray = require('./isArray.js');
var isNil = require('./isNil.js');
var isSymbol = require('./isSymbol.js');
var symbolToString = native.symbolProto ? native.symbolProto.toString : native.nativeUndefined;
function baseToString(value) {
if (typeof value === 'string') {
return value;
}
if (isArray(value)) {
return '' + value.map(baseToString);
}
if (isSymbol(value)) {
return symbolToString ? symbolToString.call(value) : '';
}
var result = '' + value;
return result === '0' && 1 / value === -Infinity ? '-0' : result;
}
function toString(value) {
return isNil(value) ? '' : baseToString(value);
}
module.exports = toString;