Booleanos de JavaScript


Tabla de contenido

    Mostrar tabla de contenidos

Un valor booleano de JavaScript representa uno de dos valores: verdadero o falso.

Valores booleanos

Muy a menudo, en programación, necesitará un tipo de datos que sólo pueda tener un de dos valores, como

  • SÍ NO

  • ENCENDIDO APAGADO

  • VERDADERO FALSO

Para ello, JavaScript tiene un tipo de datos Booleano. Sólo puede tome los valores verdadero o falso.


La función booleana()

Puede utilizar la función Boolean() para averiguar si una expresión (o una variable) es verdadero:

Ejemplo

Boolean(10 > 9)

Pruébelo usted mismo →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Booleans</h1>
<p>Display the value of Boolean(10 &gt; 9):</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = Boolean(10 > 9);
</script>

</body>
</html>

O incluso más fácil:

Ejemplo

(10 > 9)
10 > 9

Pruébelo usted mismo →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Booleans</h1>
<p>Display the value of 10 &gt; 9:</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = 10 > 9;
</script>

</body>
</html>

Comparaciones y condiciones

El capítulo Comparaciones JS ofrece una descripción completa de los operadores de comparación.

El capítulo Condiciones JS ofrece una descripción completa de las declaraciones condicionales.

Aquí hay unos ejemplos:

==

Descripción: igual a

Ejemplo:

if (day == "Monday")

>

Descripción: mayor que

Ejemplo:

if (salary > 9000)

<

Descripción: menos de

Ejemplo:

if (age < 18)

El valor booleano de una expresión es la base de todas las comparaciones y condiciones de JavaScript.



Todo lo que tiene un "valor" es cierto

Ejemplos

100

3.14

-15

"Hello"

"false"

7 + 1 + 3.14

Pruébelo usted mismo →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Booleans</h1>
<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML =
"100 is " + Boolean(100) + "<br>" +
"3.14 is " + Boolean(3.14) + "<br>" +
"-15 is " + Boolean(-15) + "<br>" +
"Any (not empty) string is " + Boolean("Hello") + "<br>" +
"Even the string 'false' is " + Boolean('false') + "<br>" +
"Any expression (except zero) is " + Boolean(1 + 7 + 3.14);
</script>

</body>
</html>

Todo lo que no tiene "valor" es falso

El valor booleano de 0 (cero) es falso:

let x = 0;
Boolean(x);

Pruébelo usted mismo →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Booleans</h1>
<p>Display the Boolean value of 0:</p>

<p id="demo"></p>

<script>
let x = 0;
document.getElementById("demo").innerHTML = Boolean(x);
</script>

</body>
</html>

El valor booleano de -0 (menos cero) es falso:

let x = -0;
Boolean(x);

Pruébelo usted mismo →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Booleans</h1>
<p>Display the Boolean value of  -0:</p>

<p id="demo"></p>

<script>
let x = -0;
document.getElementById("demo").innerHTML = Boolean(x);
</script>

</body>
</html>

El valor booleano de "" (cadena vacía) es falso:

let x = "";
Boolean(x);

Pruébelo usted mismo →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Booleans</h1>
<p>Display the Boolean value of "":</p>

<p id="demo"></p>

<script>
let x = "";
document.getElementById("demo").innerHTML = Boolean("");
</script>

</body>
</html>

El valor booleano de indefinido es falso:

let x;
Boolean(x);

Pruébelo usted mismo →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Booleans</h1>
<p>Display the Boolean value of undefined:</p>

<p id="demo"></p>

<script>
let x;
document.getElementById("demo").innerHTML = Boolean(x);
</script>

</body>
</html>

El valor booleano de nulo es falso:

let x = null;
Boolean(x);

Pruébelo usted mismo →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Booleans</h1>
<p>Display the Boolean value of null:</p>

<p id="demo"></p>

<script>
let x = null;
document.getElementById("demo").innerHTML = Boolean(x);
</script>

</body>
</html>

El valor booleano de falso es (lo has adivinado) falso:

let x = false;
Boolean(x);

Pruébelo usted mismo →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Booleans</h1>
<p>Display the Boolean value of false:</p>

<p id="demo"></p>

<script>
let x = false;
document.getElementById("demo").innerHTML = Boolean(x);
</script>

</body>
</html>

El valor booleano de NaN es falso:

let x = 10 / "Hallo";
Boolean(x);

Pruébelo usted mismo →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Booleans</h1>
<p>Display the Boolean value of NaN:</p>

<p id="demo"></p>

<script>
let x = 10 / "Hello";
document.getElementById("demo").innerHTML = Boolean(x);
</script>

</body>
</html>

Booleanos de JavaScript como objetos

Normalmente los booleanos de JavaScript son valores primitivos creados a partir de literales:

let x = false;

Pero los booleanos también se pueden definir como objetos con la palabra clave new:

let y = new Boolean(false);

Ejemplo

let x = false;
let y = new Boolean(false);

 //
typeof x returns boolean
 //
typeof y returns object

No cree objetos booleanos.

La palabra clave new complica el código y ralentiza la velocidad de ejecución.

Los objetos booleanos pueden producir resultados inesperados:

Cuando se utiliza el operador ==, x e y son iguales:

let x = false;
let y = new Boolean(false);

Pruébelo usted mismo →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Booleans</h1>
<p>Booleans and Boolean objects cannot be safely compared:</p>

<p id="demo"></p>

<script>
let x = false;         // x is a boolean
let y = new Boolean(false);  // y is an object
document.getElementById("demo").innerHTML = (x==y);
</script>

</body>
</html>

Cuando se utiliza el operador ===, x e y no son iguales:

let x = false;
let y = new Boolean(false);

Pruébelo usted mismo →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Booleans</h1>
<p>Booleans and Boolean objects cannot be safely compared:</p>

<p id="demo"></p>

<script>
let x = false;         // x is a Boolean
let y = new Boolean(false);  // y is an object
document.getElementById("demo").innerHTML = (x===y);
</script>

</body>
</html>

Tenga en cuenta la diferencia entre (x==y) y (x===y).

(x == y) ¿verdadero o falso?

let x = new Boolean(false);
let y = new Boolean(false);

Pruébelo usted mismo →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Booleans</h1>
<p>Booleans and Boolean objects cannot be safely compared.</p>

<p id="demo"></p>

<script>
const x = new Boolean(false);
const y = new Boolean(false);
document.getElementById("demo").innerHTML = (x==y);
</script>

</body>
</html>

(x === y) ¿verdadero o falso?

let x = new Boolean(false);
let y = new Boolean(false);

Pruébelo usted mismo →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Booleans</h1>
<p>Booleans and Boolean objects cannot be safely compared.</p>

<p id="demo"></p>

<script>
const x = new Boolean(false);
const y = new Boolean(false);
document.getElementById("demo").innerHTML = (x===y);
</script>

</body>
</html>

La comparación de dos objetos JavaScript siempre devuelve falso.

Referencia booleana completa

Para obtener una referencia completa, vaya a nuestro Completo Referencia booleana de JavaScript.

La referencia contiene descripciones y ejemplos de todas las propiedades y métodos booleanos.