Um booleano JavaScript representa um de dois valores: true ou falso.
Muitas vezes, na programação, você precisará de um tipo de dados que só possa ter um de dois valores, como
SIM NÃO
LIGADO DESLIGADO
VERDADEIRO FALSO
Para isso, o JavaScript possui um tipo de dados Boolean. Só pode assuma os valores true ou false.
Você pode usar a função Boolean()
para descobrir se uma expressão (ou variável) é verdadeiro:
Boolean(10 > 9)
Experimente você mesmo →
<!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>
Ou ainda mais fácil:
(10 > 9)
10 > 9
Experimente você mesmo →
<!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>
O capítulo Comparações JS oferece uma visão geral completa dos operadores de comparação.
O capítulo Condições JS fornece uma visão geral completa das declarações condicionais.
aqui estão alguns exemplos:
==
Descrição: igual a
Exemplo:
if (day == "Monday")
>
Descrição: maior que
Exemplo:
if (salary > 9000)
<
Descrição: menos que
Exemplo:
if (age < 18)
O valor booleano de uma expressão é a base para todas as comparações e condições de JavaScript.
100
3.14
-15
"Hello"
"false"
7 + 1 + 3.14
Experimente você mesmo →
<!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>
O valor booleano de 0 (zero) é falso:
let x = 0;
Boolean(x);
Experimente você mesmo →
<!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>
O valor booleano de -0 (menos zero) é falso:
let x = -0;
Boolean(x);
Experimente você mesmo →
<!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>
O valor booleano de "" (string vazia) é false:
let x = "";
Boolean(x);
Experimente você mesmo →
<!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>
O valor booleano de indefinido é falso:
let x;
Boolean(x);
Experimente você mesmo →
<!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>
O valor booleano de null é false:
let x = null;
Boolean(x);
Experimente você mesmo →
<!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>
O valor booleano de false é (você adivinhou) false:
let x = false;
Boolean(x);
Experimente você mesmo →
<!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>
O valor booleano de NaN é falso:
let x = 10 / "Hallo";
Boolean(x);
Experimente você mesmo →
<!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 booleanos JavaScript são valores primitivos criados a partir de literais:
let x = false;
Mas booleanos também podem ser definidos como objetos com a palavra-chave new
:
let y = new Boolean(false);
let x = false;
let y = new Boolean(false);
//
typeof x returns boolean
//
typeof y returns object
Não crie objetos booleanos.
A palavra-chave new
complica o código e diminui a velocidade de execução.
Objetos booleanos podem produzir resultados inesperados:
Ao usar o operador ==
, x e y são iguais:
let x = false;
let y = new Boolean(false);
Experimente você mesmo →
<!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>
Ao usar o operador ===
, xey são diferentes:
let x = false;
let y = new Boolean(false);
Experimente você mesmo →
<!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>
Observe a diferença entre (x==y) e (x===y).
(x == y)
verdadeiro ou falso?
let x = new Boolean(false);
let y = new Boolean(false);
Experimente você mesmo →
<!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)
verdadeiro ou falso?
let x = new Boolean(false);
let y = new Boolean(false);
Experimente você mesmo →
<!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>
Comparar dois objetos JavaScript sempre retorna falso.
Para uma referência completa, acesse nosso Completo Referência booleana de JavaScript.
A referência contém descrições e exemplos de todas as propriedades e métodos booleanos.