Domů O mně Služby Portfolio Učím Blog Kontakt
← Zpět na učím

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!falsetrue (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 →

Připraveni začít?

Zaregistrujte se a získejte přístup ke všem dílům tohoto seriálu

Kontaktujte mě

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


Struktura lekcí (souborový strom)

06. Typescript specifika
  • v přípravě
08. Moduly tridy
  • v přípravě
09. React zaklady
  • v přípravě
10. React hooks
  • v přípravě
12. Nextjs server
  • v přípravě
13. Databaze auth
  • v přípravě
14. Nextjs pokrocile
  • v přípravě