Javascript foi parseInt
integrado para nos ajudar a obter um valor numérico de um número convertido em uma string. É incrivelmente útil ao embaralhar dados.
Recentemente, lidei com uma situação em que precisava obter um valor booleano definido como um atributo de dados em um objeto DOM onde o valor era definido como uma string (“verdadeiro” ou “falso”).
Por que não existe uma maneira fácil de converter uma string em booleana em Javascript? Não tenho certeza e não fiquei satisfeito com as respostas que encontrei no StackOverflow. Então criei uma pequena função adorável para fazer exatamente isso. Coffeescript e JS compilado abaixo:
window.parseBoolean = (string) ->
bool = switch
when string.toLowerCase() == 'true' then true
when string.toLowerCase() == 'false' then false
return bool if typeof bool == "boolean"
return undefined
window.parseBoolean = function(string) {
var bool;
bool = (function() {
switch (false) {
case string.toLowerCase() !== 'true':
return true;
case string.toLowerCase() !== 'false':
return false;
}
})();
if (typeof bool === "boolean") {
return bool;
}
return void 0;
};