Vezérlőpult
1. Bevezetés és futtatás · Alapok

1. blokk · Alapok · 1. fejezet

Bevezetés és futtatás

A JavaScript ma már nem csak a böngészőben él: Node.js-szel szervereket, parancssori eszközöket és API-kat írunk vele. Ebben a fejezetben megnézzük, mi a JavaScript, hol fut, hogyan indítunk el egy fájlt Node-dal, és megírjuk az első sorainkat a console.log-gal — végig kipróbálhatóan, az oldalba épített gyakorlóban.

Élő gyakorló10 feladat automatikus ellenőrzéssel≈ 1 óra

Tanulási célok

1Mi a JavaScript?

A JavaScript (röviden JS) egy programozási nyelv, amelyet 1995-ben a Netscape böngészőhöz készítettek, hogy a weboldalak „éljenek": reagáljanak a kattintásra, ellenőrizzék az űrlapokat. Azóta a világ legelterjedtebb nyelve lett — és 2009-től, a Node.js megjelenésével a böngészőn kívül, szerveren is fut.

ℹ️ MIÉRT JS A BACKENDHEZ?

Ugyanaz a nyelv fut a böngészőben és a szerveren — egy webfejlesztőnek elég egyet jól tudnia. A Node.js gyors, hatalmas a csomagkínálata (npm), és az Express keretrendszerrel néhány sorban áll egy webszerver. Ez a kurzus arra készít fel.

2Hol fut: böngésző és Node.js

A JavaScript-kódot mindig egy JavaScript-motor hajtja végre. A Chrome böngésző motorja a V8 — és pontosan ez a V8 dolgozik a Node.js belsejében is. A nyelv tehát ugyanaz, a környezet viszont más: a böngésző a weboldalhoz ad eszközöket, a Node a géphez és a hálózathoz.

BöngészőNode.js
MotorV8 (Chrome), SpiderMonkey (Firefox), JavaScriptCore (Safari)V8
Mire valóWeboldal viselkedése a felhasználó gépénSzerver, API, parancssori eszközök, build-szkriptek
Amit csak itt tudszDOM (az oldal elemei), window, document, események, alertFájlrendszer (fs), hálózat (http), folyamatok, környezeti változók, npm-csomagok
Hogyan indulA HTML-oldal <script> eleme tölti beTerminálból: node fajl.js
Hol látod a kimenetetA fejlesztői eszközök konzolján (F12)A terminálban
KözösA nyelv maga: változók, típusok, operátorok, függvények, tömbök, objektumok, osztályok, console.log, Math, JSON

Ebben a kurzusban kizárólag a közös részt tanuljuk — azt, ami Node-ban is ugyanúgy működik. Nem lesz DOM, nem lesz alert: minden kimenet a console.log-on keresztül megy.

⚙️ HOL JÖN ELŐ NODE-BAN?

A backend-kurzuson minden program így indul: node index.js. Az index.js fájlban ugyanolyan JavaScript áll, amilyet itt írsz — csak később ott betöltjük az Express-t, és a program nem áll le a végén, hanem vár a HTTP-kérésekre. Amit itt begyakorolsz, azt egy az egyben viszed magaddal.

3Kód futtatása Node-dal

Először ellenőrizd, hogy telepítve van-e a Node. Nyiss egy terminált (Windows: PowerShell vagy a VS Code beépített terminálja), és írd be:

$ node --version
v22.11.0

Ha verziószámot kapsz (bármilyen 18-as vagy újabb jó), minden rendben. Ha „ismeretlen parancs" hibát, telepítsd a nodejs.org-ról az LTS változatot.

Az első fájl

Hozz létre egy mappát a gyakorláshoz, benne egy hello.js nevű fájlt (bármilyen szövegszerkesztő jó, de a VS Code ajánlott). A fájl tartalma egyetlen sor:

console.log("Helló, Node!");

Aztán a terminálban — abban a mappában, ahol a fájl van — futtasd:

$ node hello.js
Helló, Node!

Ennyi. A node parancs beolvassa a fájlt, a V8 végrehajtja, a console.log pedig a terminálba ír. Amikor a program végére ér, a Node kilép, és visszakapod a promptot.

ParancsMit csinál
node --versionKiírja a telepített Node verzióját
node hello.jsLefuttatja a hello.js fájlt
nodeInteraktív módot (REPL) indít: soronként írhatsz kódot, Ctrl+D vagy .exit a kilépés
Ctrl+CLeállít egy futó programot (pl. ha beragadt)
✅ A MAPPA SZÁMÍT

A node hello.js a jelenlegi mappában keresi a fájlt. Ha „Cannot find module" hibát kapsz, nem abban a mappában állsz, ahol a fájl van — lépj oda a cd paranccsal. VS Code-ban a beépített terminál (Ctrl+ö) automatikusan a megnyitott mappában indul.

4console.log részletesen

A console.log() a legfontosabb eszközöd a kurzus végéig: kiírja a zárójelbe tett érték(ek)et. Node-ban a terminálban jelenik meg, a böngészőben a konzolon — itt, a gyakorlóban pedig a kód alatti dobozban.

console.log("Helló, Node!");     // szöveg — idézőjelek között írjuk
console.log(42);                 // szám — idézőjel nélkül
console.log(7 * 8);              // 56 — a gép kiszámolja, az eredményt írja ki
console.log("7 * 8");            // 7 * 8 — ez szöveg, úgy jelenik meg, ahogy írtad

Több érték egyszerre

Vesszővel több értéket is átadhatsz. A console.log ezeket egy szóközzel elválasztva, egy sorba írja — ez a legkényelmesebb módja annak, hogy egy feliratot és egy értéket együtt mutass:

console.log("Eredmény:", 6 * 7);        // Eredmény: 42
console.log("Ár:", 6990, "Ft");         // Ár: 6990 Ft
console.log(12, "+", 5, "=", 12 + 5);  // 12 + 5 = 17

Szám és szöveg — nem ugyanaz

A 42 egy szám, a "42" egy szöveg, amelyben véletlenül számjegyek vannak. Kiírva egyformán néznek ki, de a + jel másképp bánik velük: számokat összead, szövegeket összefűz. A részleteket a 2. fejezet tárgyalja, de a jelenséget már most figyeld meg:

console.log(5 + 3);        // 8
console.log("5" + "3");    // 53
console.log("Szám: " + 7 + 1);   // Szám: 71 — balról jobbra: szöveg + 7 → szöveg, + 1 → hozzáfűzés

console.error

A console.error() ugyanúgy kiír, de a hibacsatornára (stderr). Terminálban ez általában ugyanott jelenik meg, de a rendszer meg tudja különböztetni a normál kimenettől — pl. külön naplófájlba irányítható. Hibaüzenetekhez ezt használd; a gyakorló piros színnel jelöli.

console.log("Rendelés feldolgozva");
console.error("Hiba: nincs elég készlet");

5Kommentek és utasítások

A komment (megjegyzés) olyan szöveg a kódban, amit a gép figyelmen kívül hagy — nekünk, embereknek szól. Kétféle van:

// Egysoros komment: a // jeltől a sor végéig tart
console.log("fut");   // a sor végén is állhat

/* Többsoros komment:
   több soron át tart,
   amíg le nem zárjuk */

// console.log("ez nem fut le"); — kikommentelt kód: átmenetileg kikapcsolva

A kód utasításokból áll — egy utasítás egy „tedd ezt" lépés, pl. egy console.log hívás. Az utasításokat pontosvesszővel (;) zárjuk, és szokás soronként egyet írni. A JavaScript sokszor elnézi a hiányzó pontosvesszőt, de vannak alattomos kivételek — ezért ebben a kurzusban mindig kitesszük.

✅ MIRE JÓ A KOMMENT?

Írd le, miért csinálsz valamit, ne azt, mit — a „mit" a kódból látszik. Hibakeresésnél pedig kommentelj ki sorokat, hogy lásd, melyik okozza a problémát. VS Code-ban Ctrl+/ kommentbe teszi / kiveszi a kijelölt sorokat.

6Hogyan olvasd a Node hibaüzenetét?

Hibázni fogsz — mindenki hibázik, sokszor. A különbség az, hogy a tapasztalt fejlesztő elolvassa a hibaüzenetet, és abból megtalálja a bajt. A Node ilyet ír, ha pl. elgépelted a console szót:

$ node hello.js
/projekt/hello.js:2
consle.log("Helló");
^

ReferenceError: consle is not defined
    at Object.<anonymous> (/projekt/hello.js:2:1)

Így olvasd, fentről lefelé:

  1. Fájl és sor: hello.js:2 — a hiba a 2. sorban van. Ez a legfontosabb információ: ugorj oda!
  2. A hibás sor és alatta a ^ jel — pontosan mutatja, hol akadt el.
  3. A hiba típusa és üzenete: ReferenceError: consle is not defined — „a consle névre hivatkozol, de ilyen nem létezik".
  4. Az at … sorok a hívási lánc — kezdőként az első sora érdekes, a többit átugorhatod.
Hiba típusaMit jelentTipikus ok
SyntaxErrorA kód „nyelvtanilag" hibás — a Node el sem tudta kezdeni futtatniHiányzó zárójel vagy idézőjel: console.log("Helló);Invalid or unexpected token
ReferenceErrorOlyan névre hivatkozol, amely nem létezikElgépelés (consol), vagy kis-/nagybetű eltérés (Console.log)
TypeErrorEgy értékkel olyat próbálsz, amit az nem tudconsole.lg("x")console.lg is not a function
⚠️ A KIS- ÉS NAGYBETŰ SZÁMÍT

A JavaScript megkülönbözteti: console.log jó, Console.log és console.Log hibás. A kulcsszavak és a beépített nevek mind kisbetűsek.

7A gyakorló használata

Ezen az oldalon (és a következő fejezetekben) egy beépített gyakorló fut: beírod a kódot, megnyomod a Futtatás gombot (vagy Ctrl+Enter), és alatta megjelenik a console.log kimenete — pontosan úgy, ahogy a terminálban látnád a node fajl.js után. A hibaüzeneteket is ugyanúgy mutatja.

ℹ️ EGY SOR = EGY console.log

A feladatok ellenőrzője a kimenetet soronként hasonlítja össze. Minden kiírt sorhoz külön console.log hívást írj; a sorvégi szóköz nem számít, de a többi karakternek (vessző, pont, kis-/nagybetű) pontosan egyeznie kell.

8Élő kód — próbáld ki!

Itt valódi JavaScriptet futtathatsz. Válassz egy mintát a chipek közül, nyomd meg a Futtatás gombot, és nézd meg a kimenetet. Írd át a szövegeket és a számokat — figyeld, mi változik. Próbáld ki a „Nézd a hibát!" mintát is!

JavaScript-gyakorló

Válassz mintát vagy írj sajátot — majd Futtatás (Ctrl+Enter) ↓

A kimenet itt jelenik meg…

9Feladatok

Az első feladatok csak console.log-ot, szövegeket és számolást kérnek — saját változót még nem kell létrehoznod. Néhány feladatban adott változók szerepelnek (pl. nev, ar): ezeket a gyakorló hozza létre a kódod előtt, te csak használod őket a nevükkel. Az Ellenőrzés több értékkel is lefuttatja a kódod.

Gyakorló feladatok

⭐ alap · ⭐⭐ haladó · ⭐⭐⭐ kihívás — a haladásod ebben a böngészőben megmarad.

Kész: 0 / 0
✅ HA NEM MEGY ÁT AZ ELLENŐRZÉS

Nézd meg a piros sort: mit vártunk és mit kaptunk. A leggyakoribb okok: hiányzó vagy plusz szóköz, más írásjel, kis-/nagybetű eltérés, vagy a szám helyett a kifejezés szövegét írtad idézőjelbe. Ha elakadsz, a Tipp segít, végső esetben a Megoldás — de előbb próbáld meg magad!

10Összegzés

  1. A JavaScript szabványa az ECMAScript; a 2015-ös ES6 óta modern nyelv (ES6+). A Java-hoz nincs köze.
  2. Ugyanaz a nyelv fut a böngészőben (DOM, window) és a Node.js-ben (fájlrendszer, hálózat, szerver) — mindkettő alatt a V8 motor dolgozik. Mi a közös részt tanuljuk.
  3. Futtatás: node --version ellenőrzi a telepítést, node hello.js lefuttat egy fájlt. A kimenet a terminálban jelenik meg.
  4. console.log(a, b, c) több értéket szóközzel elválasztva, egy sorba ír. Szám (42) és szöveg ("42") nem ugyanaz: a + számot összead, szöveget összefűz. console.error a hibacsatornára ír.
  5. Kommentek: // egy sor, /* … */ több sor. Az utasításokat ; zárja — mindig kitesszük.
  6. Hibaüzenet olvasása: fájl:sor → a hibás sor és a ^ → a hiba típusa (SyntaxError, ReferenceError, TypeError) és üzenete.
  7. A gyakorló ugyanazt a console.log-kimenetet mutatja, mint a terminál; a feladatok soronként ellenőriznek — egy sor = egy console.log.
➡️ KÖVETKEZŐ LÉPÉS

Eddig minden értéket közvetlenül a console.log-ba írtunk. A következő fejezetben megtanulod, hogyan tárolsz értékeket változókban (let, const), milyen adattípusok vannak (szám, szöveg, logikai), és hogyan alakítod át egyiket a másikba — ez a webshop-példák alapja.