← Zpět na učím
1.6 String (řetězce)
Výuka
String je datový typ pro text. Řetězce zapisujeme do uvozovek.
3 typy uvozovek
| Typ | Syntaxe | Použití |
|---|---|---|
| Jednoduché | 'text' |
Běžný text |
| Dvojité | "text" |
Běžný text |
| Backticks | `text` |
Template literals (interpolace) |
Pravidlo: Počáteční a koncová uvozovka musí být stejná.
JavaScript
// Tři způsoby zápisu
const single = 'Hello';
const double = "World";
const template = `Hello, World!`;
// Konkatenace (spojení)
const greeting = 'Hello' + ', ' + 'World!'; // "Hello, World!"
// Template literals - interpolace
const name = 'Jan';
const message = `Ahoj, ${name}!`; // "Ahoj, Jan!"
const calc = `2 + 2 = ${2 + 2}`; // "2 + 2 = 4"
// Víceřádkové stringy
const multi = `Řádek 1
Řádek 2
Řádek 3`;
// Escape sekvence
const escaped = 'Řádek 1\nŘádek 2'; // \n = nový řádek
const quote = 'It\'s OK'; // \' = apostrof
const path = 'C:\\Users\\Jan'; // \\ = zpětné lomítko
// String metody
const text = 'JavaScript';
console.log(text.length); // 10
console.log(text.toUpperCase()); // "JAVASCRIPT"
console.log(text.toLowerCase()); // "javascript"
console.log(text[0]); // "J" (první znak)
console.log(text.slice(0, 4)); // "Java"
TypeScript
// Type annotation pro string
const name: string = 'Jan';
const greeting: string = `Hello, ${name}`;
// TS kontroluje typy
const age: string = '25'; // ✅ OK (string)
// const age: string = 25; // ❌ Error: Type 'number' is not assignable
// Funkce se string parametry
function greet(name: string): string {
return `Hello, ${name}!`;
}
console.log(greet('World')); // ✅ OK
// console.log(greet(123)); // ❌ Error
// Union type
let value: string | number;
value = 'hello'; // ✅ OK
value = 42; // ✅ OK
// value = true; // ❌ Error
// Literal types
type Status = 'pending' | 'success' | 'error';
const status: Status = 'success'; // ✅ OK
// const status: Status = 'unknown'; // ❌ Error
Rozdíl JS vs TS
| JavaScript | TypeScript |
|---|---|
| String bez typové kontroly | string type |
| Lze přiřadit jakýkoli typ | Pevný typ |
| Chyby až za běhu | Chyby při kompilaci |
// JavaScript
let text = 'hello';
text = 123; // ✅ OK (ale možná nechceš)
// TypeScript
let text: string = 'hello';
// text = 123; // ❌ Error
Tip
💡 Používej template literals:
const name = 'Jan';
const age = 25;
// ❌ Těžko čitelné
const msg1 = 'Jméno: ' + name + ', věk: ' + age;
// ✅ Čitelnější
const msg2 = `Jméno: ${name}, věk: ${age}`;
💡 Pozor na prázdný string:
const empty = '';
console.log(empty.length); // 0
console.log(!empty); // true (empty je falsy)
Kvíz
Které výroky jsou pravdivé?
🎯 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ě