WEB-JS2-2
Haladó JavaScript programozás II.
Ismertető
A tanfolyam célja, hogy a tanulók elsajátítsák a JavaScript legkomplexebb és leghatékonyabb eszközeit, különös tekintettel az aszinkron programozásra, az objektumorientált programozásra és a this kulcsszó mélyebb megértésére.
Elméleti szinten részletesen megismerik az aszinkron programozás minden aspektusát – a Promise-októl az async/await szintaxison át a generator függvényekig. A képzés során a résztvevők megtanulják, hogyan lehet tiszta, hatékony és modern JavaScript kódot írni, amely megfelel az iparági szabványoknak és best practice-eknek.
Az órák során gyakorlati példák alapján elsajátítják a reguláris kifejezések használatát, a kivételkezelés professzionális alkalmazását, az objektumorientált programozás mintáit, valamint a this kulcsszó viselkedését minden kontextusban. A tanfolyam célja, hogy a résztvevők senior szintű JavaScript fejlesztővé váljanak, akik képesek komplex, skálázható és karbantartható alkalmazásokat készíteni.
Kinek ajánljuk?
A tanfolyam azoknak szól, akik:
- Már rendelkeznek szilárd JavaScript alapokkal és haladó ismeretekkel
- Elsajátították a JavaScript Haladó I. tanfolyam anyagát
- Senior fejlesztővé szeretnének válni
- Mélyen meg szeretnék érteni az aszinkron programozást
- Objektumorientált programozást szeretnének tanulni JavaScript-ben
- A this kulcsszó minden aspektusát meg szeretnék érteni
- Enterprise szintű alkalmazásokat szeretnének fejleszteni
Előnyök
Mit fogsz tudni a tanfolyam után?
- Reguláris kifejezéseket professzionálisan használsz
- Kivételkezelést minden szituációban helyesen alkalmazod
- Promise-okat és Fetch API-t magabiztosan használod
- Aszinkron programozást teljesen megérted (callback, Promise, async/await)
- Generator függvényeket tudsz írni és használni
- Async/await szintaxist zökkenőmentesen alkalmazod
- A this kulcsszó viselkedését minden kontextusban megérted
- Haladó objektumkezelési technikákat ismersz
- Objektumorientált programozást JavaScript-ben professzionálisan alkalmazod
A tanfolyam célja, hogy a résztvevők senior szintű JavaScript tudásra tegyenek szert: elsajátítsák a legkomplexebb nyelvi elemeket, mélyen megértsék az aszinkron programozás működését, és képesek legyenek objektumorientált mintákat alkalmazni JavaScript környezetben.
Fontos cél, hogy a résztvevők ne csak használják ezeket az eszközöket, hanem megértsék, mikor és hogyan érdemes alkalmazni őket. A this kulcsszó viselkedésének teljes megértése, az aszinkron programozás minden aspektusa, és az OOP minták elsajátítása lehetővé teszi számukra, hogy komplex, enterprise szintű alkalmazásokat fejlesszenek, és vezető szerepet töltsenek be fejlesztői csapatokban.
Tematika
A Regexp objektum
- Reguláris kifejezések szintaxisa (alap minták, speciális karakterek)
- Pattern matching (találatok keresése szövegben)
- Flags használata (g, i, m stb.)
- Test, match, replace metódusok
- Validáció reguláris kifejezésekkel (űrlap- és bemeneti ellenőrzés)
- Gyakorlati példák (email, irányítószám, rendszám stb. minták)
Kivételkezelés
- Try-catch-finally szerkezet
- Error objektum (hiba típusa, üzenet)
- Egyéni hibák létrehozása (custom Error osztályok)
- Hibadobás (throw)
- Aszinkron hibakezelés (Promise, async/await mellett)
- Best practice-ek (hibalogolás, user-friendly üzenetek)
Promise, Fetch API
- Promise létrehozása (resolve, reject)
- Then, catch, finally láncolás
- Promise chaining (lépésről lépésre történő feldolgozás)
- Promise.all, Promise.race, Promise.allSettled használata
- Fetch API használata (GET, POST kérések)
- HTTP kérések kezelése (status, headers, body)
- Válaszok feldolgozása (JSON, hibaágak kezelése)
Aszinkron programozás
- Mi az az aszinkron programozás? (blokkoló vs. nem blokkoló)
- Callback hell probléma
- Event loop részletesen (call stack, queue)
- Microtask és macrotask (Promise vs. setTimeout)
- Aszinkron minták és best practice-ek (struktúrált kód, error handling)
Generator függvények
- Generator szintaxis (function* deklaráció)
- Yield kulcsszó (értékek lépésenkénti visszaadása)
- Iterator protokoll (next, done, value)
- Generator használati esetei (lustán értékelés, végtelen sorozatok)
- Aszinkron iterátorok (for await…of)
Aszinkron függvények
- Async/await szintaxis
- Error handling async függvényekben (try-catch)
- Promise vs. async/await (olvashatóság, hibatípusok)
- Párhuzamos vs. szekvenciális végrehajtás (Promise.all kombinálása await-tel)
- Top-level await (modul szintű await használat)
this
- A this kulcsszó viselkedése (függvényhívási módok)
- Function context (normál függvényhívás)
- Method context (objektum metódus hívás)
- Constructor context (new operátorral hívott függvények)
- Arrow functions és this (lexikális this)
- Bind, call, apply metódusok
- this aszinkron környezetben (callbackek, event handlerek)
Objektumok haladó
- Property descriptors (writable, enumerable, configurable)
- Getters és setters (számított property-k)
- Object.create (prototípus alapú objektum létrehozása)
- Prototype chain (öröklődési lánc)
- Object methods (freeze, seal, assign stb.)
- Proxy és Reflect (műveletek elfogása és tükrözése)
Objektumorientált Programozás
- OOP alapelvek JavaScript-ben (encapsulation, inheritance, polymorphism)
- Constructor functions (régebbi OOP minta)
- ES6 Classes (class szintaxis)
- Inheritance (öröklődés, extends, super)
- Encapsulation (egységbe zárás, publikus/privát felület)
- Polymorphism (többalakúság, közös interfészek)
- Private fields és methods (# mezők, privát tagok)
- Static methods (osztályszintű függvények)
- Design patterns (Factory, Singleton, Module stb., gyakorlati példákkal)
Szükséges előképzettség
- Változóműködés (var/let/const, hoisting, temporal dead zone)
- ES6+ funkciók magabiztos használata (arrow functions, destructuring, spread/rest operators)
- Haladó tömbmetódusok (map, filter, reduce, flatMap, find stb.)
- Template literals és haladó string metódusok
- Modulrendszer használata (import/export, default/named exports)
- Closure-ök megértése és gyakorlati alkalmazása
A tanfolyam feltételezi, hogy a résztvevők már professzionális szinten használják a JavaScript-et és ismerik a JavaScript Haladó I. tanfolyam minden anyagát. Ez a legmagasabb szintű JavaScript tanfolyam, amely senior fejlesztői tudást nyújt. A résztvevőknek képesnek kell lenniük önállóan komplex alkalmazásokat fejleszteni, mélyen kell megérteniük a JavaScript motor működését, és készen kell állniuk az aszinkron programozás, OOP és haladó nyelvi konstrukciók elsajátítására.