Как видно из заголовка, я пытаюсь построить функцию, в которой в качестве входных данных указано строковое значение, и оно возвращает правильное приведенное значение.
Пока я получил это, я думаю, что это выглядит ужасно иесть ощущение, что это может быть решено лучше.
Примеры:
const smartCast = function (value) {
if (value === 'true') {
return true;
}
if (value === 'false') {
return false;
}
if (!isNaN(value)) {
return Number(value);
}
return value;
};
console.log(smartCast('ahoy!') === 'ahoy!');
console.log(smartCast('hello there') === 'hello there');
console.log(smartCast('412') === 412);
console.log(smartCast('71.3') === 71.3);
console.log(smartCast('true') === true);
console.log(smartCast('false') === false);
Дайте мне знать, если есть случай, который я не принимаю во внимание.