JavaScript Booleans


Obsah

    Zobrazit obsah

Boolean JavaScriptu představuje jednu ze dvou hodnot: true nebo false.

Booleovské hodnoty

Velmi často při programování budete potřebovat datový typ, který může mít pouze jeden dvou hodnot, např

  • ANO NE

  • ZAPNUTO VYPNUTO

  • PRAVDA/NEPRAVDA

Za tímto účelem má JavaScript datový typ Boolean. Může jen mít hodnoty true nebo false.


Funkce Boolean().

Pomocí funkce Boolean() můžete zjistit, zda je výraz (nebo proměnná) skutečný:

Příklad

Boolean(10 > 9)

Zkuste to sami →

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

Nebo ještě jednodušší:

Příklad

(10 > 9)
10 > 9

Zkuste to sami →

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

Srovnání a podmínky

Kapitola Porovnání JS poskytuje úplný přehled srovnávacích operátorů.

Kapitola Podmínky JS poskytuje úplný přehled podmíněných příkazů.

Zde jsou nějaké příklady:

==

Popis: rovná se

Příklad:

if (day == "Monday")

>

Popis: větší než

Příklad:

if (salary > 9000)

<

Popis: méně než

Příklad:

if (age < 18)

Booleovská hodnota výrazu je základem pro všechna srovnání a podmínky JavaScriptu.



Všechno s "hodnotou" je pravda

Příklady

100

3.14

-15

"Hello"

"false"

7 + 1 + 3.14

Zkuste to sami →

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

Vše bez „hodnoty“ je falešné

Booleovská hodnota 0 (nula) je false:

let x = 0;
Boolean(x);

Zkuste to sami →

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

Booleovská hodnota -0 (minus nula) je false:

let x = -0;
Boolean(x);

Zkuste to sami →

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

Booleovská hodnota "" (prázdný řetězec) je false:

let x = "";
Boolean(x);

Zkuste to sami →

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

Booleovská hodnota undefined je false:

let x;
Boolean(x);

Zkuste to sami →

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

Booleovská hodnota null je false:

let x = null;
Boolean(x);

Zkuste to sami →

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

Booleovská hodnota false je (uhodli jste) false:

let x = false;
Boolean(x);

Zkuste to sami →

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

Booleovská hodnota NaN je false:

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

Zkuste to sami →

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

JavaScript Booleans jako objekty

Normálně jsou booleany JavaScriptu primitivní hodnoty vytvořené z literálů:

let x = false;

Booleany však lze také definovat jako objekty s klíčovým slovem new:

let y = new Boolean(false);

Příklad

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

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

Nevytvářejte booleovské objekty.

Klíčové slovo new kód komplikuje a zpomaluje rychlost provádění.

Booleovské objekty mohou přinést neočekávané výsledky:

Při použití operátoru == jsou x a y rovné:

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

Zkuste to sami →

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

Při použití operátoru === se x a y nerovnají:

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

Zkuste to sami →

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

Všimněte si rozdílu mezi (x==y) a (x===y).

(x == y) pravda nebo ne?

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

Zkuste to sami →

<!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) pravda nebo ne?

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

Zkuste to sami →

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

Porovnání dvou objektů JavaScriptu vždy vrátí hodnotu false.

Kompletní booleovská reference

Úplnou referenci najdete v našem Dokončení Booleovská reference JavaScriptu.

Odkaz obsahuje popisy a příklady všech booleovských vlastností a metod.