Domů O mně Služby Portfolio Učím Blog Kontakt
← 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 →

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ě