Cómo convertir una cadena en booleana en JavaScript

Kirill Ibrahim 12 octubre 2023
  1. Convertir una cadena que representa un valor booleano (por ejemplo, true, false) en un booleano en JavaScript
  2. Convertir la cadena en booleana para comprobar la cadena vacía:
Cómo convertir una cadena en booleana en JavaScript

El JavaScript tiene diferentes maneras de convertir una cadena a booleana, pero depende de la situación o, en otras palabras, depende de su propósito de convertir la cadena a booleana, porque tenemos dos escenarios diferentes, los cuales cubriremos a continuación.

Convertir una cadena que representa un valor booleano (por ejemplo, true, false) en un booleano en JavaScript

El primer escenario es convertir una cadena que representa un valor booleano (por ejemplo, true, false, yes, no, 0, 1) en un tipo intrínseco. Usamos este escenario en casos específicos, por ejemplo, tenemos elementos de formulario HTML y un formulario oculto que se muestra basado en la selección de un usuario dentro de una entrada de verificación o de selección.

Ejemplo:

<input type="checkbox" id="display_hidden_form1" name="display_hidden_form1" value="true">
<label for="display_hidden_form1"> Display hide form1</label><br>

<input type="checkbox" id="display_hidden_form2" name="display_hidden_form2" value="false">
<label for="display_hidden_form2"> Display hide form2</label><br>

<script>
    let myValue = document.getElementById("display_hidden_form1").value;
    let isTrueval = myValue === 'true';

    let myValue2 = document.getElementById("display_hidden_form2").value;
    let isTrueval2 = myValue2 === 'true';

    console.log({isTrueval, isTrueval2});
</script>Stenogramm Beispiel:

Resultado:

{isTrueval: true, isTrueval2: false}

Ejemplo corto:

const convertString = (word) => {
  switch (word.toLowerCase().trim()) {
    case 'yes':
    case 'true':
    case '1':
      return true;
    case 'no':
    case 'false':
    case '0':
    case null:
      return false;
    default:
      return Boolean(word);
  }
} console.log(convertString('true'));
console.log(convertString('no'));
console.log(convertString('dasdasd'));

Resultado:

true
false
true

Convertir la cadena en booleana para comprobar la cadena vacía:

Hay dos maneras de convertir variables a un valor booleano. Primero con operadores duales NOT (!!), y Segundo con tipografía (Boolean(value)).

let myBool = Boolean('false');

let myBool2 = !!'false';

console.log({myBool, myBool2});

Resultado:

{myBool: true, myBool2: true}

El value es una variable. Devuelve false para null, undefined, 0, 000, "" y false. Devuelve true para la cadena y los espacios en blanco.

En el ejemplo anterior, "false" es una cadena, por lo tanto, Boolean("false") devuelve true.

Probablemente deberías ser cauteloso al usar estos dos métodos para el primer escenario, cualquier cadena que no sea la cadena vacía será evaluada como true al usarlos.

Artículo relacionado - JavaScript String

Artículo relacionado - JavaScript Boolean