Booleanos JavaScript


Índice

    Mostrar índice

Um booleano JavaScript representa um de dois valores: true ou falso.

Valores booleanos

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.


A função Boolean()

Você pode usar a função Boolean() para descobrir se uma expressão (ou variável) é verdadeiro:

Exemplo

Boolean(10 > 9)

Experimente você mesmo →

<!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>

Ou ainda mais fácil:

Exemplo

(10 > 9)
10 > 9

Experimente você mesmo →

<!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>

Comparações e Condições

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.



Tudo que tem um “valor” é verdade

Exemplos

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>

Tudo sem um “valor” é falso

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>

Booleanos JavaScript como objetos

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);

Exemplo

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.

Referência booleana completa

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.