💾valueToString()
convert a value to string.
JS ⟩ value ⟩ type ⟩ conversion ⟩ valueToString()
convert a value to its most "natural" string representation.
replit: valueToString(), require:isObject()
const { isObject } = require('./isObject.js');
// ⭐️ valueToString(value)
function valueToString(value){
const str = String(value);
// ------------ primitive ------------
if (!isObject(value)) {
if (typeof value === 'string') return `'${str}'`;
return str;
}
// ------------ object ------------
// array
if (Array.isArray(value)) return '['
+ value.map(x => valueToString(x)).join(',')
+ ']';
// Set
if (str === '[object Set]')
return `{${[...value].map(x => valueToString(x)).join(', ')}}`;
// Map
if (str === '[object Map]')
return `{${[...value].map(p => `${p[0]}→${valueToString(p[1])}`).join(', ')}}`;
// function: return its code
if (typeof value === 'function') return value.toString();
// other object, try to get its methods as well.
let result = [];
for (let key in value) {
result.push(`${key}: ${valueToString(value[key])}`);
}
return `{${result.join(', ')}}`;
}
// export
module.exports = { valueToString };💈範例:
codepen ⟩ object.toString() ?
codesandbox ⟩ compare: ~~, +, !!, Math.trunc
helper functions (0.1.8)
Last updated
Was this helpful?