Un valor booleano de JavaScript representa uno de dos valores: verdadero o falso.
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.
Puede utilizar la función Boolean()
para averiguar si una expresión (o una variable) es verdadero:
Boolean(10 > 9)
Pruébelo usted mismo →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Booleans</h1>
<p>Display the value of Boolean(10 > 9):</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = Boolean(10 > 9);
</script>
</body>
</html>
O incluso más fácil:
(10 > 9)
10 > 9
Pruébelo usted mismo →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Booleans</h1>
<p>Display the value of 10 > 9:</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = 10 > 9;
</script>
</body>
</html>
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.
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>
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>
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);
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.
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.