ReferenceError: x is not defined

Hiba leírása:

Ez a JavaScript hiba akkor fordul elő, ha megpróbálunk elérni egy olyan változót, amely nem lett deklarálva az aktuális vagy bármelyik külső scope-ban.

Uncaught ReferenceError: myVar is not defined

A JavaScript értelmező nem találja a változót, ezért hibát dob.

💥 Tipikus hibás kód

function greet() {
  console.log(name); // ❌ ReferenceError
}

greet();

A fenti példában name változó sehol sincs definiálva, ezért a JavaScript hibaüzenetet dob.

✅ Megoldás

  1. Deklaráld a változót mielőtt használod:
    function greet() {
      const name = "Anna";
      console.log(name); // ✅ Anna
    }
  2. Figyelj a scope hatókörre:
    function outer() {
      const message = "Helló";
    
      function inner() {
        console.log(message); // ✅ elérhető a külső scope-ban
      }
    
      inner();
    }
  3. Globális változó hiányzik vagy elírás történt:
    console.log(useName); // ❌ useName is not defined
    // helyesen:
    console.log(userName);

🧠 Miért történik ez?

A ReferenceError a JavaScript egyik legalapvetőbb hibája, ami akkor keletkezik, amikor egy változóra hivatkozunk, mielőtt az a scope-ban definiálva lenne.

Gyakori okok:

  • Elírás a változónévben (pl. user helyett uesr)
  • A változó kívül van a funkció hatókörén (scope-on)
  • A változót nem deklarálták (let, const, vagy var hiányzik)

🧪 Tipp fejlesztőknek

  • Mindig használj const vagy let kulcsszót deklaráláskor
  • Kapcsold be a „Strict Mode”-ot:
    'use strict';
  • IDE (pl. VSCode) hibajelzéseit vedd komolyan

🧯 Összefoglalás

A ReferenceError: x is not defined hiba arra utal, hogy a változó használata megelőzi annak létrehozását vagy deklarálását. Megfelelő változókezeléssel, scope-tudatossággal és modern JS szintaxis használatával ez a hiba könnyen megelőzhető.

🔗 Kapcsolódó hibák: