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'te Split Metodu

JavaScript'te split metodu, bir stringi belirli bir ayırıcıya göre bölerek bir dizi (array) oluşturmanızı sağlar. Bu yöntem, özellikle bir metni belirli bir karaktere veya karakter dizisine göre parçalara ayırmak istediğinizde oldukça kullanışlıdır. Kullanım:

string.split(ayırıcı, limit)


- ayırıcı: Stringin nereden bölüneceğini belirleyen bir karakter veya karakter dizisi. Bu parametre isteğe bağlıdır. Eğer boş bir string ('') olarak verilirse, her karakter arasında bölme işlemi yapılır.
- limit (sınır): Döndürülecek dizinin eleman sayısını belirleyen isteğe bağlı bir tam sayı. Eğer belirtilmezse, tüm string bölünür.


Örnek:

JavaScript "For of" ve "For in" Döngüleri

for of ve for in döngüleri JavaScript'te farklı amaçlarla kullanılırlar. Bu döngülerin kullanım amaçları ve farklılıkları, kod yazarken doğru seçimi yapmanızı sağlar.


"For of" döngüsü

Genellikle iterable (yinelenebilir) nesneleri, yani Array, String, Map, Set gibi veri yapıları üzerinde döngü kurmak için kullanılır. Örnek Kullanım:

const array = ['elma', 'armut', 'muz'];

for (const meyve of array) {
    console.log(meyve);
}

// Çıktı:
// elma
// armut
// muz


Özellikler:
- for of, iterable nesnelerin elemanlarını direkt olarak döndürür.
- Diziler, stringler, Map ve Set gibi yapılar üzerinde kullan...