← Zpět na učím
1.11 Aritmetické operátory
Výuka
Aritmetické operátory slouží pro matematické výpočty.
| Operátor | Název | Příklad | Výsledek |
|---|---|---|---|
+ |
Sčítání | 5 + 2 |
7 |
- |
Odčítání | 5 - 2 |
3 |
* |
Násobení | 5 * 2 |
10 |
/ |
Dělení | 5 / 2 |
2.5 |
% |
Modulo (zbytek) | 5 % 2 |
1 |
** |
Mocnina | 5 ** 2 |
25 |
++ |
Increment | x++ |
x + 1 |
-- |
Decrement | x-- |
x - 1 |
JavaScript
// Základní operace
console.log(10 + 5); // 15
console.log(10 - 5); // 5
console.log(10 * 5); // 50
console.log(10 / 5); // 2
console.log(10 % 3); // 1
console.log(2 ** 3); // 8
// Modulo (zbytek po dělení)
console.log(10 % 3); // 1
console.log(7 % 2); // 1 (liché číslo)
console.log(8 % 2); // 0 (sudé číslo)
// Modulo se záporným číslem
console.log(-5 % 2); // -1 (znaménko dividendy)
console.log(5 % -2); // 1
// Mocnina
console.log(2 ** 8); // 256
console.log(10 ** 3); // 1000
console.log(2 ** 0.5); // 1.414... (druhá odmocnina)
// Priorita operátorů
console.log(2 + 3 * 4); // 14 (násobení má přednost)
console.log((2 + 3) * 4); // 20 (závorky mají nejvyšší prioritu)
// Increment a Decrement
let x = 5;
x++; // x = 6 (postfix)
++x; // x = 7 (prefix)
console.log(x); // 7
let y = 5;
console.log(y++); // 5 (vrátí původní, pak zvýší)
console.log(y); // 6
console.log(++y); // 7 (zvýší, pak vrátí)
// Compound assignment (zkrácený zápis)
let a = 10;
a += 5; // a = a + 5 → 15
a -= 3; // a = a - 3 → 12
a *= 2; // a = a * 2 → 24
a /= 4; // a = a / 4 → 6
a %= 4; // a = a % 4 → 2
a **= 3; // a = a ** 3 → 8
// Unární mínus
const num = 5;
console.log(-num); // -5
console.log(-(-num)); // 5
TypeScript
// Operátory fungují stejně, TS kontroluje typy
const a: number = 10;
const b: number = 5;
const sum: number = a + b; // ✅ 15
const diff: number = a - b; // ✅ 5
const product: number = a * b; // ✅ 50
// TS hlídá, že pracuješ s čísly
// const result: number = a + '5'; // ❌ Error (string + number)
// Funkce s aritmetikou
function calculate(x: number, y: number): number {
return (x + y) * 2;
}
console.log(calculate(5, 3)); // 16
// Type narrowing nepomáhá u aritmetiky
// (operátory vždy vrací number)
function add(a: number, b: number) {
return a + b; // návratový typ: number (inference)
}
Rozdíl JS vs TS
// JavaScript - žádná kontrola typů
const result = 5 + '5'; // "55" (string konkatenace!)
// TypeScript - kontrola typů
const result: number = 5 + 5; // ✅ 10
// const result: number = 5 + '5'; // ❌ Error
JavaScript má "type coercion":
console.log(5 + '5'); // "55" (string)
console.log(5 - '5'); // 0 (number)
console.log(5 * '2'); // 10 (number)
TypeScript to zabrání:
const a: number = 5;
const b: string = '5';
// const c = a + b; // ❌ Error: Operator '+' cannot be applied
Tip
💡 Modulo pro sudá/lichá čísla:
function isEven(n) {
return n % 2 === 0;
}
console.log(isEven(4)); // true
console.log(isEven(5)); // false
💡 Pozor na dělení nulou:
console.log(5 / 0); // Infinity
console.log(-5 / 0); // -Infinity
console.log(0 / 0); // NaN
💡 Mocnina vs Math.pow:
// Nové (ES2016+)
console.log(2 ** 3); // 8
// Staré
console.log(Math.pow(2, 3)); // 8
💡 Prefix vs Postfix:
let x = 5;
// Postfix (vrátí pak zvýší)
console.log(x++); // 5
console.log(x); // 6
// Prefix (zvýší pak vrátí)
let y = 5;
console.log(++y); // 6
console.log(y); // 6
Kvíz
Které výroky jsou pravdivé?
✅ - % vrací zbytek: 10 % 3 = 1
❌ - ** je mocnina: 2 ** 3 = 8 (ne 6)
❌ - Liší se kdy vrací hodnotu (prefix vs postfix)
✅ - TS kontroluje, že operandy jsou number
🎯 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)
01. Zaklady jazyka
- 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
02. Rizeni toku
03. Funkce
- 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
04. Pole kolekce
05. Objekty
06. Typescript specifika
- v přípravě
07. Async
08. Moduly tridy
- v přípravě
09. React zaklady
- v přípravě
10. React hooks
- v přípravě
11. Nextjs zaklady
- 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)
12. Nextjs server
- v přípravě
13. Databaze auth
- v přípravě
14. Nextjs pokrocile
- v přípravě