1.8 Boolean (pravda/nepravda)
Výuka
Boolean je datový typ pro logické hodnoty. Má pouze 2 možné hodnoty:
true(pravda)false(nepravda)
Používá se pro:
- Podmínky (if/else)
- Logické operace
- Kontroly a validace
JavaScript
// Přímé hodnoty
const isTrue = true;
const isFalse = false;
// Z porovnání
const isGreater = 10 > 5; // true
const isEqual = 5 === '5'; // false
const isLess = 3 < 1; // false
// Logické operátory
console.log(true && false); // false (AND)
console.log(true || false); // true (OR)
console.log(!true); // false (NOT)
// Truthy a Falsy hodnoty
// Falsy: false, 0, '', null, undefined, NaN
// Truthy: všechno ostatní
Boolean(0); // false
Boolean(''); // false
Boolean(null); // false
Boolean(undefined); // false
Boolean(NaN); // false
Boolean(1); // true
Boolean('hello'); // true
Boolean([]); // true
Boolean({}); // true
// V podmínkách
if (true) {
console.log('Toto se provede');
}
if (false) {
console.log('Toto ne');
}
// Negace
const isNotEmpty = !''; // true
const hasValue = !!value; // převod na boolean
TypeScript
// Type annotation
const isActive: boolean = true;
const isDone: boolean = false;
// TS kontroluje typy
const flag: boolean = true; // ✅ OK
// const flag: boolean = 'true'; // ❌ Error
// Z porovnání (TS odvodí boolean)
const isGreater = 10 > 5; // boolean
const isEqual = 'a' === 'b'; // boolean
// Funkce vracející boolean
function isEven(num: number): boolean {
return num % 2 === 0;
}
console.log(isEven(4)); // true
console.log(isEven(5)); // false
// Type guards (zúžení typu)
function process(value: string | null) {
if (value !== null) { // boolean check
// zde TS ví, že value: string
console.log(value.toUpperCase());
}
}
// Boolean vs truthy/falsy
const isEmpty = (str: string): boolean => {
return str.length === 0; // explicitní boolean
};
Rozdíl JS vs TS
// JavaScript
let flag = true;
flag = 1; // ✅ OK (změna typu)
// TypeScript
let flag: boolean = true;
// flag = 1; // ❌ Error: Type 'number' is not assignable
Tip
💡 Double negation pro převod:
const value = 'hello';
const bool = !!value; // true
// První ! převede na boolean a neguje
// Druhý ! znovu neguje → původní boolean hodnota
💡 Pozor na truthy/falsy:
if (0) { // 0 je falsy!
console.log('Nevypíše se');
}
if ([]) { // prázdné pole je truthy!
console.log('Vypíše se!');
}
Kvíz
Které výroky jsou pravdivé?
❌ - 0 je falsy hodnota (převede se na false)
✅ - Prázdný string '' je jedna ze 6 falsy hodnot v JavaScriptu
✅ - Boolean má přesně 2 hodnoty: true a false (na rozdíl od jiných jazyků)
✅ - !!123 → !false → true (první ! převede na false, druhý na true)
🎯 Závěrečný projekt
Po dokončení všech 8 dílů vytvoříte jednoduchou Todо aplikaci v čistém JavaScriptu. Naučíte se, jak aplikovat vše, co jste se naučili, na reálný projekt.
Zobrazit podrobnosti projektu →Informace o seriálu
Obtížnost
Délka
Cca 480 minut
Počet videí
8 videí + projekty
Certifikát
Po dokončení obdržíte certifikát
Lekce v této sekci
- 1.1 Úvod do JavaScriptu a TypeScriptu
- 1.2 Nastavení prostředí
- 1.3 První program
- 1.4 Proměnné: var, let, const
- 1.5 Datové typy - přehled
- 1.6 String (řetězce)
- 1.7 Number (čísla)
- 1.8 Boolean (pravda/nepravda)
- 1.9 Null a Undefined
- 1.10 Type Inference vs Annotations
- 1.11 Aritmetické operátory
- 1.12 Porovnávací operátory
- 1.13 Logické operátory
- 1.14 Komentáře
- 1.15 Console metody
Struktura lekcí (souborový strom)
- 1.1 Úvod do JavaScriptu a TypeScriptu
- 1.2 Nastavení prostředí
- 1.3 První program
- 1.4 Proměnné: var, let, const
- 1.5 Datové typy - přehled
- 1.6 String (řetězce)
- 1.7 Number (čísla)
- 1.8 Boolean (pravda/nepravda)
- 1.9 Null a Undefined
- 1.10 Type Inference vs Annotations
- 1.11 Aritmetické operátory
- 1.12 Porovnávací operátory
- 1.13 Logické operátory
- 1.14 Komentáře
- 1.15 Console metody
- 03.01 Deklarace funkce
- 03.02 Function Expression
- 03.03 Arrow Functions
- 03.04 Parametry a argumenty
- 03.05 Return hodnoty
- 03.06 Výchozí parametry
- 03.07 Rest parametry
- 03.08 Co je Scope
- 03.09 Lexikální Scope
- 03.10 Řetězec Scope
- 03.11 Globální Scope
- 03.12 Životní Cyklus Proměnných
- 03.13 Omezení Scope
- 03.14 Použití Closures
- 03.15 Callback funkce
- 03.16 Higher-order Functions
- 03.17 IIFE
- 03.18 Void funkce
- 03.19 Rekurze
- v přípravě
- v přípravě
- v přípravě
- v přípravě
- 01 — Co je Next.js
- 02 — Vytvoření projektu
- 03 — Struktura projektu (app/)
- 04 — Page komponenty (page.js / page.tsx)
- 05 — Layout komponenty (layout.js / layout.tsx)
- 06 — File-based routing
- 07 — Dynamické routy ([id]/page.js)
- 08 — Link komponenta (navigace)
- 09 — Image komponenta (next/image)
- 10 — Metadata (title, description, Open Graph)
- 11 — Loading UI (loading.js / loading.tsx)
- 12 — Error handling (error.js / error.tsx)
- 13 — Not Found (not-found.js / not-found.tsx)
- v přípravě
- v přípravě
- v přípravě