JavaScript Hata Türleri

Syntax Errors

Sözdizimi hataları, kodun yazım kurallarına uygun olmaması durumunda ortaya çıkar. Tarayıcı veya JavaScript çalışma ortamı bu hataları kod çalışmadan önce tespit eder.

var x = 10
if (x == 10) { // Eksik parantez
    console.log("Hello");
// }

Yukarıdaki örnekte "if" yapısının kapanma parantezi yorum satırına alındığı için bir yazım hatası (Syntax Error) oluşmuştur.


TypeError

Bir değişkenin veya değerin beklenen türde olmaması durumunda meydana gelir. Örnek:

let obj = null;
console.log(obj.property); //null üzerinde toUpperCase() çağrılamaz

Yukarıdaki örnekte "null" değeri tanımlanan bir değişkeni, String ifadelerde yazıları büyük harfe çeviren metod ile kullanarak bir "tür" hatası yapılmıştır.


ReferenceError

Tanımlanmamış veya erişilemez bir değişkene başvurulduğunda oluşur. Örnek:

console.log(x); //  y tanımlı değil

Yukarıdaki örnekte tanımlı olmayan "y" isimli değer, console.log() metodu ile ekrana yazdırılmaya çalışıldığından "ReferenseError" hatası oluşmuştur.


RangeError

Bir değerin izin verilen aralık dışında olduğunda ortaya çıkar. Örnek:

function recursiveFunction() {
    recursiveFunction(); // Çok fazla yinelenme
}
recursiveFunction();

Yukarıdaki örnekte, oluşturulan fonksiyon kendi kendini çağırmaya çalıştığından kaynaklı sonsuz bir döngü oluşturmuştur. Bu nedenle "RangeError (Aralık Hatası)" meydana gelmiştir.


URIError

Genellikle URL parametlerini kodlama ve çözme aşamlarında ve diğer JavaScript String işlemlerinde kullanılan encodeURI(), decodeURI(), encodeURLComponent(), decodeURIComponent() fonksiyonlarında meydana gelen hataları temsil etmektedir.

decodeURIComponent('%'); // Geçersiz bir URI bileşeni
encodeURIComponent('https://example.com/path'); // Geçerli URL bileşeni

Yukarıdaki örnekte, hem geçerli olanı hem de geçersiz olan ve hataya sebep olan kullanımı görüntülenmiştir.

JavaScript Nedir?

Yine standart bir söz ile konuya girelim o zaman; “HTML bir bina ise CSS onun boyası, JavaScript ise o binanın su tesisatı, muslukları, elektrik tesisatı, aydınlatma sistemi, kısaca fonksiyonel olarak çalışan her şeyidir.” Bir HTML sayfasının dinamik olarak çalışmasından tutunda, tasarımsal olarak CSS’i aşıp daha farklı, hiç görülmemiş efekt yapılarına kadar, çok geniş bir alanı kontrol eden, web yazılımının geleceği olan bir konudur. Aslında kendisini abartıyormuş gibi gözüksemde aslında az bile söylüyorum. Zira kendisi ile yapılanları saymaya çalışırsak;


1. Web sitelerinde çalışan oyunlar.


2. CSS’i içerisinde barındırması, hâliyle çok daha güzel tasarımlar sağlaması.


3. Sunucu ile haberleşme sağlaması.


...