WEB-JS2-1
Haladó JavaScript programozás I.
Ismertető
A tanfolyam célja, hogy a tanulók megismerjék a kliensoldali programozás mélyebb rétegeinek lehetőségeit a JavaScript nyelv használatával.
A képzés során a résztvevők mélyebb megértést szereznek a JavaScript belső működéséről, megtanulják a haladó nyelvi elemek használatát, és képessé válnak komplex, professzionális webalkalmazások fejlesztésére.
A tanfolyam célja, hogy a résztvevők ne csak használják a JavaScript-et, hanem megértsék annak működési elveit és képesek legyenek tiszta, hatékony és karbantartható kódot írni.
Kinek ajánljuk?
A tanfolyam azoknak szól, akik:
- Már rendelkeznek JavaScript alapismeretekkel
- Mélyebb megértést szeretnének szerezni a nyelv működéséről
- Professzionális szintű JavaScript fejlesztővé szeretnének válni
- Komplex webalkalmazásokat szeretnének fejleszteni
- Megérteni szeretnék a JavaScript motor működését
- Haladó programozási technikákat szeretnének elsajátítani
- Front-end vagy full-stack fejlesztői karriert terveznek
Előnyök
Mit fogsz tudni a tanfolyam után?
- Megérted a JavaScript engine működését
- Magabiztosan használod a haladó tömbmetódusokat
- Képes leszel komplex adatstruktúrákat kezelni és átszervezni
- Ismered az adattárolási lehetőségeket (localStorage, sessionStorage)
- Reguláris kifejezéseket tudsz írni és használni
- Kivételkezelést professzionálisan alkalmazod
- Moduláris kódot tudsz írni
- A this kulcsszó működését minden kontextusban megérted
- Haladó objektumkezelési technikákat ismersz
A tanfolyam célja, hogy a résztvevők professzionális szintű JavaScript tudásra tegyenek szert: megértsék a nyelv belső működését, elsajátítsák a haladó programozási technikákat, és képesek legyenek tiszta, hatékony és skálázható kódot írni.
Fontos cél, hogy a résztvevők ne csak receptszerűen használják a nyelvet, hanem mélyebb betekintést nyerjenek a JavaScript motor működésébe, az aszinkron programozás rejtelmeibe és a this kulcsszó viselkedésébe különböző kontextusokban. A tanfolyam végére olyan tudással rendelkeznek, amely lehetővé teszi számukra komplex, enterprise szintű alkalmazások fejlesztését és senior pozíciók betöltését.
Tematika
Változók haladó
- Var hoisting (változók felemelése)
- Var scope (hatókör)
- Var scope shadowing és memory leak (árnyékolás és memóriaszivárgás)
- Nested scope (beágyazott hatókörök)
- Let és a Temporal Dead Zone (időzónás hozzáférés)
- Let redeclaráció (újradeklarálás tiltása)
- Let scope és block scope (blokk szintű hatókör)
- Let használata if-else-ben
- Let használata switch-case-ben
- Let használata for ciklusban
- Event listenerek ciklusban let nélkül és let-tel
- Polyfill és transpiler (kompatibilitás régebbi böngészőkkel)
- Const használata (konstans változók)
- Object.freeze (objektumok befagyasztása)
- Memory lifecycle (memória életciklus)
Függvények haladó
- Függvény definíciók (különböző szintaxisok)
- Callback függvények (visszahívó függvények)
- Closure (lezárás, lexikális hatókör)
- IIFE (azonnal meghívott függvénykifejezés)
- IIFE és blokkok (izolált hatókör létrehozása)
- Block scope függvények (blokk szintű függvények)
- Default paraméterek (alapértelmezett értékek)
- Default paraméterek objektumokkal
- Arrow function alapok (nyíl függvények)
- Arrow function objektum visszatérési érték
- Arrow function callback-ként
- Arrow function objektum metódusként
- Arrow function objektum metóduson belül (this binding)
- Heap és stack (memóriakezelés)
Tömbök haladó
- forEach (elemek bejárása)
- Map (elemek transzformálása)
- Filter (elemek szűrése)
- Reduce (elemek összegzése, aggregálás)
- Funkcionális programozás példa
- Flat (tömb lapítása)
- FlatMap (map + flat kombinálva)
- Find, findIndex, some, every (keresési metódusok)
- Typed arrays (tipizált tömbök)
Szövegek haladó
- Template literal alapok (sablon literálok)
- Template literal array map-pel (dinamikus HTML generálás)
- startsWith, endsWith, includes, repeat, padStart, padEnd, trimStart, trimEnd (string metódusok)
- Többsoros stringek (multiline strings)
- Spread operátor (szétbontás)
- Rest paraméter (maradék paraméterek gyűjtése)
- Tagged template literal (címkézett sablon literál)
Számok haladó
- isFinite (véges szám ellenőrzés)
- isNaN (nem szám ellenőrzés)
- isSafeInteger (biztonságos egész szám)
- Bináris és oktális literálok (számrendszerek)
- Sign (előjel meghatározás)
- Truncate (egészre kerekítés)
- BigInt (nagy egész számok)
Adatok átszervezése
- Destructuring tömb (tömb szétbontása változókba)
- Adatok cseréje (swap without temp variable)
- Objektum destructuring (objektum szétbontása)
- Objektum destructuring új változónevekkel (átnevezés)
- Objektum destructuring default értékekkel
- Objektum destructuring kombinált használat (átnevezés + default)
A Dátum objektum
- New Date (dátum létrehozása)
- Hasznos Date metódusok (parse, now, UTC)
- Get metódusok (dátumkomponensek lekérése)
- GetUTC metódusok (UTC időzóna)
- Set metódusok (dátumkomponensek beállítása)
- Dátumkezelés példa (gyakorlati alkalmazás)
Egyéb újdonságok
- for…of (iterálható objektumok bejárása)
- Intl.Collator (stringek lokalizált rendezése)
- Intl currency (pénznem formázás)
- Intl datetime (dátum formázás lokalizáltan)
- Symbol létrehozása (egyedi azonosítók)
- Symbol.for (globális symbol registry)
- Symbol objektum property-ként (privát property-k)
- Map get, set, has (kulcs-érték párok tárolása)
- Map delete, keys, values (Map metódusok)
- WeakMap (gyenge referenciák)
- Set add, size, entries, values, has (egyedi értékek halmaza)
- Set delete, clear, next (Set metódusok)
- WeakSet (gyenge referenciájú Set)
- Property shorthand (rövidített property szintaxis)
- Method properties (metódus property-k egyszerűsítve)
- Computed properties (számított property nevek)
- Dynamic properties (dinamikus property-k)
Adattárolási lehetőségek
- Cookie (böngésző cookie kezelés)
- Cookie handler objektum (cookie műveletek)
- LocalStorage és SessionStorage (kliens oldali adattárolás)
Modul rendszer
- Export és import (modulok exportálása és importálása)
- Export as (exportálás átnevezéssel)
- Import as (importálás átnevezéssel)
- Import all as (minden exportált elem importálása)
- Export default (alapértelmezett export)
- Mixed export (default és named export kombinálva)
Szükséges előképzettség
- HTML5 alapok (dokumentum struktúra, elemek, attribútumok)
- CSS alapok (szelektorok, tulajdonságok, box model)
- JavaScript szintaxis és alapvető nyelvi elemek
- Változók (var, let, const) alapvető használata
- Adattípusok (string, number, boolean, null, undefined, object, array)
- Operátorok (aritmetikai, összehasonlító, logikai)
- Vezérlési szerkezetek (if-else, switch-case)
- Ciklusok (for, while, do-while)
- Függvények definiálása és meghívása
- Tömbök alapműveletek (létrehozás, indexelés, length)
- Objektumok alapjai (property-k, metódusok)
- DOM manipuláció alapjai (getElementById, querySelector, innerHTML)
- Eseménykezelés alapok (addEventListener, onclick)
- JSON formátum ismerete
- Böngésző fejlesztői eszközök (Console, Debugger)
- Szövegszerkesztő vagy IDE használata
A tanfolyam feltételezi, hogy a résztvevők már rendelkeznek szilárd JavaScript alapismeretekkel és képesek egyszerű interaktív weboldalakat készíteni. A tanfolyam a haladó témákra koncentrál: a JavaScript motor működésére, haladó nyelvi konstrukciókra, funkcionális programozásra és ES6+ funkciókra. Az alapvető JavaScript ismeretek (változók, függvények, ciklusok, DOM manipuláció) biztos tudása elengedhetetlen a sikeres részvételhez.