LETNÍ AKCE JE TADY! Pouze dnes můžeš získat až 90 % extra kreditů ZDARMA při dobití od 1199 kreditů s promo kódem SLUNCE90.
NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!

Lekce 4 - Využití umělé inteligence při studiu programování Nové

V předchozím kvízu, Kvíz - Úvod, konzole a proměnné v JavaScriptu, jsme si ověřili nabyté zkušenosti z předchozích lekcí.

V tomto tutoriálu se naučíme využívat AI při studiu programování. Ukážeme si, jak pomocí umělé inteligence lépe pochopit složité koncepty a zrychlit řešení úkolů, na kterých běžně trávíme spoustu času.

Pozor: AI je dobrý pomocník, ale zlý pán! Tato lekce ti ukáže, jak ti AI najde chybu ve tvém kódu nebo jednoduché úlohy vyřeší zcela za tebe. Prvně ale musíš nad úlohou přemýšlet a zkoušet ji sám, než požádáš o pomoc AI. Nebudeš jinak schopný v zaměstnání řešit komplexnější úlohy, se kterými ti AI nepomůže, protože ji nemůžeš poslat celý firemní projekt. Ve svém vlastním zájmu používej AI jen jako pomocníka, když nevíš, jak dál, a již jsi vyplýtval všechny možnosti.

Využití AI při studiu programování

Učení se programování může být občas náročné. Budeme se setkávat se spoustou nových konceptů a nezvyklých problémů. Dnešní doba nám však poskytuje AI nástroje, které nám práci i studium velmi ulehčí. Stačí se je naučit správně používat. Nerozumíme nějakému tématu? ChatGPT nám danou problematiku na základě našich otázek znovu vysvětlí a pomůže nám si dané téma osvojit. Narazili jsme na problém v nějaké úloze? Nástroj Canvas ji s námi rozebere a v případě potřeby doporučí další postup, opraví chyby a podobně. Strávili jsme hodinu luštěním našeho kódu a nakonec jsme zjistili, že celý problém zapříčinila chybějící závorka? Nejsme první ani poslední – toto je skutečně více než běžné. Když si osvojíme používání AI nástrojů, bude řešení podobných problémů otázkou několika sekund.

AI je nápomocná v mnoha dalších oblastech. Jak ji správně využívat, se učíme v kurzech Umělá inteligence.

Potřebuješ poradit? ChatGPT ti pomůže rychleji než lektor

Skvělým parťákem, a to nejen při studiu, pro nás bude zejména ChatGPT. Srozumitelně nám vysvětlí složitější látku, prodiskutuje s námi náročnější koncepty a dokáže navrhnout i řešení technických problémů v našem počítači. Pro studenty našich rekvalifikačních kurzů jsou samozřejmě k dispozici konzultace s lektory.

Ve většině případů však můžeme náš problém či dotaz vyřešit pomocí ChatGPT mnohem rychleji a stejně efektivně jako s lektorem.

ChatGPT je k dispozici prostřednictvím mobilní aplikace nebo online na adrese chatgpt.com. V řešení problémů umí být opravdu vynalézavý a zeptat se ho můžeme prakticky na cokoli:

Prompt pro ChatGPT - Základní konstrukce jazyka JavaScript

Při komunikaci s chatbotem se dozvíme spoustu zajímavých informací a pochopíme i složité koncepty, kterých je v programování mnoho:

Odpověď ChatGPT na zadaný prompt - Základní konstrukce jazyka JavaScript

Můžeme se například zeptat na látku, která nám není jasná a kterou bychom potřebovali dovysvětlit:

Vysvětli, k čemu slouží v JavaScriptu metoda constructor().

Odpověď od ChatGPT

V JavaScriptu metoda constructor() slouží jako speciální metoda třídy, která se automaticky volá při vytvoření nové instance třídy. Její hlavní účel je inicializace objektu – tedy nastavení výchozích hodnot vlastností objektu, případně provedení jiných potřebných operací při jeho vzniku.

📌 Hlavní vlastnosti metody constructor()

  • Jméno metody musí být přesně constructor (nelze použít jiné).
  • Může přijímat parametry, které pak slouží k nastavení vlastností objektu.
  • V jedné třídě může být pouze jeden constructor().
  • Pokud žádný constructor() výslovně nedefinuješ, JavaScript vytvoří výchozí konstruktor automaticky (bez parametrů).

🔧 Příklad použití:

class Osoba {
  constructor(jmeno, vek) {
    this.jmeno = jmeno;
    this.vek = vek;
  }

  pozdrav() {
    console.log(`Ahoj, jmenuji se ${this.jmeno} a je mi ${this.vek} let.`);
  }
}

const clovek = new Osoba('Karel', 30);
clovek.pozdrav(); // Ahoj, jmenuji se Karel a je mi 30 let.

V tomto příkladu:

  • constructor(jmeno, vek) přijímá hodnoty při vytváření nové instance Osoba.
  • Tyto hodnoty se ukládají jako vlastnosti instance pomocí this.jmeno a this.vek.

🧠 Tipy a poznámky:

  • V dědičnosti se často používá klíčové slovo super() uvnitř constructor() pro volání konstruktoru nadřazené třídy.
  • constructor() není volán znovu při opětovném volání metody nebo změně objektu – pouze při jeho vytvoření (new).

Chceš i ukázku s dědičností nebo s použitím super()?

Dále se můžeme také zeptat na praktické využití určitého konceptu, například dědičnosti:

Vysvětli, co je dědičnost v JavaScriptu, k čemu se používá v praxi, a uveď jednoduchý příklad s kódem.

Odpověď od ChatGPT

🔍 Co je dědičnost v JavaScriptu

Dědičnost je základní princip objektově orientovaného programování (OOP), který umožňuje vytvářet nové objekty na základě existujících. Jinými slovy – objekt (nebo třída) může "zdědit" vlastnosti a metody jiného objektu (nebo třídy).

V JavaScriptu je dědičnost realizována pomocí:

  • prototype-based inheritance (dříve standardní přístup)
  • class-based syntaxe (zavedena v ECMAScript 2015 – ES6)

🎯 K čemu se používá v praxi

Dědičnost se v praxi používá, když:

  • Potřebujeme sdílet společné chování mezi více objekty (např. metoda speak() pro různé typy zvířat).
  • Chceme zjednodušit a zpřehlednit kód – odstraníme duplicitu.
  • Stavíme hierarchii objektů – např. OsobaZaměstnanecManažer.

🧪 Jednoduchý příklad s kódem

Ukážeme si dědičnost pomocí ES6 tříd:

// Nadřazená třída
class Osoba {
  constructor(jmeno) {
    this.jmeno = jmeno;
  }

  pozdrav() {
    console.log(`Ahoj, jmenuji se ${this.jmeno}.`);
  }
}

// Podtřída, která dědí z Osoba
class Student extends Osoba {
  constructor(jmeno, obor) {
    super(jmeno); // Volá konstruktor nadřazené třídy
    this.obor = obor;
  }

  studuj() {
    console.log(`${this.jmeno} studuje obor ${this.obor}.`);
  }
}

// Použití
const student1 = new Student("Anna", "Informatika");

student1.pozdrav();  // Ahoj, jmenuji se Anna.
student1.studuj();   // Anna studuje obor Informatika.

✅ Shrnutí

  • Dědičnost umožňuje znovupoužití kódu a vytváření hierarchických struktur.
  • JavaScript od ES6 podporuje třídní syntaxi pomocí class, extends, super.
  • Pomáhá organizovat kód, zvyšuje jeho přehlednost a snižuje duplicitu.

Pokud chceš příklad s prototype-based přístupem nebo složitější hierarchii (např. více úrovní nebo přepisování metod), dej vědět!

Kvalita odpovědi závisí především na našem dotazu, tzv. promptu. Jak správně strukturovat prompt, se učíme v lekci Vytváříme efektivní prompty pro excelentní výstupy.

Nefunguje ti kód? Vyzkoušej nástroj ChatGPT Canvas

Při práci s ChatGPT lze využít rozšíření Canvas, které nabízí mimo jiné i rozhraní pro interaktivní práci s kódem. Na rozdíl od běžného chatovacího okna umožňuje organizovat odpovědi a návrhy kódu do bloků, což je ideální pro složitější úlohy, jako je návrh architektury aplikace nebo ladění rozsáhlejších projektů. Díky vizuálnímu uspořádání je možné lépe sledovat jednotlivé kroky návrhu, experimentovat s různými přístupy a snadno se vracet k předchozím verzím řešení. Nástroj spustíme tlačítkem Canvas v menu ChatGPT, které se nám otevře po kliknutí na tři tečky v chatovacím okně:

Zapnutí Canvasu v ChatGPT - Základní konstrukce jazyka JavaScript

Nyní chatbotu předáme náš kód a začneme na něm pracovat:

let jmeno = prompt("Zadej své jméno:");

if (jmeno.length <= 3 && jmeno.length >= 10) {
    document.write("Normální jméno");
} else {
    document.write("Máš moc krátké nebo moc dlouhé jméno!");
}

Nástroj nám v kódu vyhledá a opraví chyby:

Editace kódu v Canvasu - Základní konstrukce jazyka JavaScript

Při správně zadaném promptu můžeme v našem kódu jednoduše doplnit chybějící funkcionalitu:

Přidej do kódu validaci vstupu. Chci, aby nešlo zadat prázdné jméno.

Editace kódu v Canvasu – doplnění funkcionality - Základní konstrukce jazyka JavaScript

GitHub Copilot – Pomocník přímo ve tvém IDE

GitHub Copilot je AI asistent vyvinutý společnostmi GitHub a OpenAI. V Visual Studio Code je k dispozici jako rozšíření, které je schopné navrhovat doplnění v našem kódu, generovat kód dle zadání či hledat a opravovat chyby.

Pozor: Nepoužívej nástroj Copilot ve svém IDE, protože bez důkladného zvládnutí základů programování se nenaučíš samostatně vytvářet funkční kód a v zaměstnání budeš snadno nahraditelný.

AI nástroje dokážou výrazně pomoci při studiu programování – usnadňují pochopení obtížné látky a řešení náročných úloh. Po dohodě se zaměstnavatelem je lze uplatnit i v praxi, kde mohou šetřit čas a zvyšovat produktivitu. Proto je důležité se s nimi naučit efektivně pracovat a využívat jejich potenciál naplno.

V příští lekci, Textové řetězce v JavaScriptu, si popíšeme metody pro práci s textovými řetězci, probereme také používání různých uvozovek a speciální znaky.


 

Předchozí článek
Kvíz - Úvod, konzole a proměnné v JavaScriptu
Všechny články v sekci
Základní konstrukce jazyka JavaScript
Přeskočit článek
(nedoporučujeme)
Textové řetězce v JavaScriptu
Článek pro vás napsal Adam Straňovský
Avatar
Uživatelské hodnocení:
236 hlasů
.
Aktivity