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

1.3 První program

Výuka

"Hello, World!" je tradiční první program v každém jazyce. Ukážeme si ho v JavaScriptu i TypeScriptu.

Základní koncepty

  • console.log() - výpis do konzole
  • String (řetězec) - text v uvozovkách
  • Středník ; - konec příkazu (volitelný v JS/TS)

JavaScript

V prohlížeči

Metoda 1: HTML soubor

<!DOCTYPE html>
<html lang="cs">
<head>
  <meta charset="UTF-8">
  <title>První JS program</title>
</head>
<body>
  <h1>Hello, World!</h1>

  <script>
    // Toto je komentář
    console.log('Hello, World!');
    console.log('Můj první JavaScript program!');

    // Výpis do stránky
    document.write('<p>Ahoj z JavaScriptu!</p>');

    // Alert okno
    alert('Vitaj!');
  </script>
</body>
</html>

Metoda 2: Externí JS soubor

<!-- index.html -->
<!DOCTYPE html>
<html>
<head>
  <title>První program</title>
</head>
<body>
  <script src="app.js"></script>
</body>
</html>
// app.js
console.log('Hello, World!');
console.log('JavaScript funguje!');

// Více příkazů
const name = 'Jan';
const greeting = 'Ahoj, ' + name + '!';
console.log(greeting);

V Node.js

// app.js
console.log('Hello, World!');
console.log('Node.js je super!');

// Více řádků
console.log('Řádek 1');
console.log('Řádek 2');
console.log('Řádek 3');
# Spusť v terminálu
node app.js

# Výstup:
# Hello, World!
# Node.js je super!
# Řádek 1
# Řádek 2
# Řádek 3

TypeScript

Základní TypeScript program

// app.ts
const message: string = 'Hello, TypeScript!';
console.log(message);

// S typovou anotací
const name: string = 'Jan';
const age: number = 25;
const isStudent: boolean = true;

console.log(`Jméno: ${name}`);
console.log(`Věk: ${age}`);
console.log(`Student: ${isStudent}`);

Kompilace a spuštění

# 1. Zkompiluj TypeScript
tsc app.ts
# Vytvoří app.js

# 2. Spusť zkompilovaný JavaScript
node app.js

# Nebo vše najednou s ts-node:
npx ts-node app.ts

TypeScript s funkcí

// hello.ts
function greet(name: string): void {
  console.log(`Hello, ${name}!`);
}

greet('World');
greet('TypeScript');

// greet(123);  // ❌ Error: Argument of type 'number' is not assignable

Rozdíl JS vs TS

JavaScript:

// Bez typů - flexibilnější
const message = 'Hello';
console.log(message);

// Spustitelné přímo
// node app.js ✅

TypeScript:

// S typy - bezpečnější
const message: string = 'Hello';
console.log(message);

// Musí se zkompilovat
// tsc app.ts → app.js
// node app.js ✅
JavaScript TypeScript
Přímo spustitelný Potřebuje kompilaci
Žádná typová kontrola Kontrola typů při kompilaci
Flexibilnější Bezpečnější

Tip

💡 Rychlý start v prohlížeči:

<!-- Vytvoř index.html a otevři v prohlížeči -->
<script>
  console.log('Ahoj!');  // F12 → Console
</script>

💡 Template literals (backticks):

const name = 'Jan';

// Staré (konkatenace)
console.log('Ahoj, ' + name + '!');

// Nové (template literal)
console.log(`Ahoj, ${name}!`);  // ✅ Čitelnější

💡 Více výpisů najednou:

const x = 5;
const y = 10;

// Jedna hodnota
console.log(x);  // 5

// Více hodnot
console.log(x, y);  // 5 10

// S popisky
console.log('x:', x, 'y:', y);  // x: 5 y: 10

// Objekt (pěkný výpis)
console.log({ x, y });  // { x: 5, y: 10 }

💡 Debugging:

console.log('Start');
console.log('Hodnota:', 123);
// debugger;  // Zastaví program v Dev Tools
console.log('Konec');

Kvíz

Které výroky jsou pravdivé?

- console.log() funguje i v Node.js

- TS se musí zkompilovat na JS (tsc app.ts)

- Středníky jsou volitelné (ale doporučené)

- Template literals: `text ${variable}`

🎯 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ě