00-20modul mappák:README.mdfájl: az adott modul szöveges összefoglalójalessonsmappa: a videós leckék kódjaiexercisesmappa: feladatok automata tesztekkel (nem minden mondulnál érhető el)projectmappa: mini projekt feladatok (nem minden mondulnál érhető el)
- Telepítsd a NodeJS-t (válaszd az LTS verziót): https://nodejs.org/en/download/
- Telepítsd az
ESLintextensiont VS Code alá - Add ki az
npm iparancsot
Az feladatok exercises mappákban találhatóak modulonként.
A feladatok 4 csoportra vannak osztva nehézségi szint szerint:
- A feladatok megoldása során a
startmappában kell dolgoznod minden esetben! - A kiinduló fájlok előre el vannak készítve. - A fájlok végén az
export,export defaultkulcsszavakkal találkozhatsz, ezeket hagyd módosítatlanul, a kódod ezek FELETT kell megírnod! - A megadott HTML-fájlba nem kell írnod semmit, csak a JS-fájlokban dolgozz!
- A HTML-fájlok csak arra szolgálnak, hogy böngészőben is meg tudd tekinteni a megoldásod.
A feladatokhoz automata tesztek tartoznak. Bármikor tesztelheted a függvényeidet az alábbi parancsok segítségével.
npm run test:basnpm run test:intnpm run test:advnpm run test:expnpm run test:functionsnpm run test:arraynpm run test:stringnpm run test:numbernpm run test:destructuringnpm run test:datenpm run test:othernpm run test:storagenpm run test:regexnpm run test:promisenpm run test:generatorsnpm run test:objects
Az első négy a 00-algorithm gyakorló modulhoz tartozó 4 nehézségi szintű feladatsort teszteli le a többi parancs értelemszerűen az adott modulok feladatait.
- A var kulcsszóval létrehozott változók és a hoisting
- A var kulcsszóval létrehozott változók és a hatókör (scope)
- Variable shadowing
- Memory leak problémák
- Nested scope
- A let kulcsszóval létrehozott változók és a Temporal Dead Zone
- A let kulcsszóval létrehozott változók újradeklarálása
- Mi is a block scope?
- A let használata az if else vezérlési szerkezeten belül
- A let használata a switch case vezérlési szerkezeten belül
- A let használata ciklusoknál
- Eseményfigyelők használata cikluson belül, let nélkül
- Eseményfigyelők használata cikluson belül, a let használatával
- Polyfill, transpiler
- A const kulcsszó használata
- Az Object.freeze() metódus használata
- Memory lifecycle
- Függvény definíciója
- Callback függvények
- Closure
- Azonnal meghívott függvénykifejezés (IIFE)
- Az azonnal meghívott függvénykifejezés és a blokkok
- Blokk hatókörű függvények
- Alapértelmezett paraméter
- Alapértelmezett paraméter objektumok esetében
- Az arrow function-ök használata
- Objektum mint egy arrow function visszatérési értéke
- Arrow function mint callback
- Arrow function mint metódus
- Arrow function használata metóduson belül
- A Heap és a Stack memóriaterületek
- A forEach() metódus használata
- A map() metódus használata
- A filter() metódus használata
- A reduce() metódus használata
- A funkcionális programozás alapjai
- A flat() metódus használata
- A flatMap() metódus használata
- Új metódusok: find(), findIndex(), some(), every()
- A template literal
- Template literal használata tömbökkel
- Új metódusok: startsWith(), endsWith(), includes(), repeat(), padStar(), padEnd(), trimStart(), trimEnd()
- Többsoros szövegek template literal használatával
- A spread operátor
- A rest paraméter
- Tagged template literal
- A Number.isFinite() metódus
- A Number.isNaN() és a globális isNaN() metódus
- Mik a safe integerek?
- Bináris és oktális literál
- A Math.sign() metódus
- A Math.trunc() metódus
- A BigInt típus
- Tömbök átstrukturálása
- Adatok felcserélése
- Objektumok átstrukturálása
- Objektumok átstrukturálása új változónév hozzárendelésével
- Objektumok átstrukturálása alapértelmezett értékkel
- Objektumok átstrukturálása új változónév hozzárendelésével és alapértelmezett értékkel
- Date objektumok létrehozása
- Date-metódusok
- A get… metódusok
- A getUTC… metódusok
- A set… metódusok
- Példafeladat
- A for of ciklus
- Az Intl objektum, szövegek összehasonlítása lokalizáció szerint
- Pénznem formázása lokalizáció szerint
- Dátum formázása lokalizáció szerint
- A Symbol típus
- A for() metódus és a globális szimbólumnyilvántartó
- Symbol használata objektum tulajdonságaként
- A Map objektum és a set(), get(), has() metódusai
- A Map objektum delete(), keys() és values() metódusai
- A WeakMap objektum
- A Set objektum, az add(), entries(), values(), has() metódusok és a size tulajdonság
- A Set objektum delete(), clear() és next() metódusai
- Objektumok tulajdonságainak egyszerűsített megadási módja
- Objektumok metódusainak egyszerűsített megadási módja
- Számított tulajdonságok
- Dinamikus tulajdonságok
- Cookies, azaz sütik
- Saját sütikezeleő objektum gyártása, a setCookie() metódus megírása
- Saját sütikezeleő objektum gyártása, a getCookie() metódus megírása
- Saját sütikezeleő objektum gyártása, a checkCookie() és deleteCookie() metódus megírása
- A localStorage és a sessionStorage
- Az export, és az import utasítás I.
- Az export, és az import utasítás II.
- Modulok exportálás más néven
- Modulok importálás más néven
- Az összes modul importálása más néven
- A default export használata
- Az export, és az export default utasítás együttes használata
- RegExp objektum létrehozása, minták készítése
- Flagek használata
- Adott mintával való kezdődés, adott mintára való végződés vizsgálata
- Csoportosítás
- A pont, mint speciális karakter
- A plusz jel, mint speciális
- A csillag, mint speciális karakter
- A kérdőjel, mint speciális karakter
- Számosság megadása
- Metakarakterek
- Validációs példaprogram késztése
- A try catch blokkok használata
- Példaprogram a try catch használatára
- A throw utasítás, és a különböző hibaobjektumok
- A finally blokk használata
- Kivételkezelés aszinkron függvények esetében
- Promise objektumok létrehozása, a then() metódus
- A then() metódus paraméterei
- A catch() metódus használata
- A finally() metódus használata
- Több then() használata
- Promise-ok láncolása
- Az all() metódus bemutatása
- Az allSettled() metódus bemutatása
- A race() metódus bemutatása
- Mi is az a then-able objektum?
- A fetch API alapjai
- Opciók megadása fetch használatánál
- Event loop és Task Queue
- A setTimeout() és egyéb aszinkron műveletek
- Az XMLHttpRequest aszinkron művelet
- Szinkron callback hell
- Szinkron callback hell szebben
- Aszinkron callback hell
- Aszinkron callback hell szebben
- Microtask Queue
- A generátor függvényekről
- Generátor függvény használata tömb bejárására
- A return() metódus
- A throw() metódus
- A yield* utasítás
- Egyedi azonosító, és fibonacci sorozat generálása gererátor függvények segítségével
- Python szerű range ciklus készítése generátor függvénnyel
- Több ajax hívás kezelése generátor függvénnyel
- Aszinkron függvények írása
- Az await utasítás
- Soros és párhuzamos futtatás
- A végrehajtási idő mérése
- A fetch API használata aszinkron függvényekkel
-
- A callback, generátor, promise és aszinkron függvény összehasonlítása - callback
- A callback, generátor, promise és aszinkron függvény összehasonlítása - generátor
- A callback, generátor, promise és aszinkron függvény összehasonlítása - promise
- A callback, generátor, promise és aszinkron függvény összehasonlítása - async/await
- Mi is a this?
- A this értéke globális névtérben, és függvényen belül
- A this értéke objektum metódusban
- A this értéke objektum metóduson belüli függvényben
- A this értéke arrow function-ben
- A this értéke eseményeken belül
- A call(), és az apply() metódusok
- A bind() metódus
- Objektum létrehozási módok
- A prototype tulajdonság
- A prototype használata, magyarázata ábrával szemléltetve
- Prototípus alapú öröklődés
- Az öröklődés magyarázata ábrával szemléltetve I.
- Az öröklődés magyarázata ábrával szemléltetve II.
- Getter, és setter metódusok
- Több getter/setter írása
- Névadási konvenciók a get(), set() használatakor
- Getter, és setter metódusok használata prototype-al
- A defineProperty() metódus, és a tulajdonság leírók