Bir gün, kod yazarken karşıma çıktı. Düşünceli bir şekilde bilgisayarımın ekranına bakıyordum, bir anda hata mesajı belirdi:
> "Unexpected token"
Hemen ne olduğunu anlamaya çalıştım. Hata mesajı, yanlış yazılmış veya beklenmedik bir karakterin bulunduğu bir noktayı işaret ediyor. Ama daha doğrusu, bu hatayı anlamadan önce nerede yanlış yaptığımı anlamam gerekiyordu. İşte bu yazıda, "Unexpected token" hatasının aslında nasıl çok farklı durumlarda karşımıza çıkabileceğini ve bunları nasıl düzeltebileceğimizi detaylı bir şekilde keşfedeceğiz.
1. Noktalı Virgül Eksikliği
Birçok yeni geliştirici, JavaScript'te noktalı virgül (;) kullanmayı unutur. Ancak, JavaScript'teki pek çok durum, noktalı virgül eksikliğini anlayabiliyor. Ama bazı durumlarda, özellikle "Unexpected token" hatasını almanıza neden olabilir.
const number = 5
const result = number * 2
console.log(result)
Bu koda bakın. Eksik olan bir noktalı virgül, "Unexpected token" hatasına yol açabilir. JavaScript bunu doğru yorumlayamayacak ve hata mesajını verecektir. Çözüm mü? Tek bir noktalı virgül eklemek!
const number = 5;
const result = number * 2;
console.log(result);
2. Yanlış Parantez Kapanışları
Yanlış veya eksik parantezler de bu hataya yol açabilir. Özellikle if-else, fonksiyon veya döngülerde yanlış parantezler kullanmak, JavaScript'in doğru şekilde kodu yorumlamasını engeller.
function multiply(a, b) {
return a * b;
console.log(multiply(5, 3));
Burada dikkat edin, return ifadesinden sonra parantez doğru şekilde kapanmamış. Çözüm: Kapanmayan parantezi düzeltmek!
function multiply(a, b) {
return a * b;
}
console.log(multiply(5, 3));
3. Anlamlı Değeri Olmayan Karakterler
JavaScript, bazı karakterleri özel olarak kullanır ve bu karakterlerin yanlış bir şekilde kodda bulunması, "Unexpected token" hatasına yol açar. Örneğin, noktalama işaretlerinin yanlış kullanımı, gereksiz boşluklar veya hatalı yazım karakterleri bu hatayı tetikleyebilir.
const user = "Ahmet“; //Yanlış tırnak işareti
Dikkat edin, burada kullandığımız tırnak işaretleri (" ") yerine yanlış bir tırnak işareti ("“") kullanılmış. Bu, JavaScript'in "Unexpected token" hatasını fırlatmasına neden olur. Çözüm: Tırnakları doğru şekilde kullanmak.
const user = "Ahmet"; //Doğru tırnak işareti
4. Eksik veya Fazla Virgül
JavaScript nesnelerinde veya dizilerde, fazla veya eksik virgül kullanımı da sık karşılaşılan hatalardan biridir. Bir nesne tanımlarken, son elemandan sonra fazladan bir virgül koymak veya bir öğe arasında virgül eksikliği, beklenmedik hatalara yol açabilir.
const person = {
name: "John",
age: 30, // Fazla virgül
};
Bu örnekte fazladan bir virgül var. Bu, bazı JavaScript sürümleri tarafından hata olarak yorumlanabilir. Çözüm: Virgülleri doğru kullanmak.
const person = {
name: "John",
age: 30
};
5. String İçinde Dolar İşareti ve Değişken Kullanımı
Bir başka sık karşılaşılan hata, template literals (şablon dizeleri) kullanırken, dolaylı olarak değişkenler ile işlem yaparken yapılan hatalardır. Özellikle yanlış yerde kullanılan dolar işareti veya süslü parantezler bu hatayı yaratabilir.
let userName = "Ali";
console.log("Merhaba, $userName!"); // Hatalı kullanım
Buradaki hata, doğru template literal kullanımının yapılmamasıdır. Çözüm: Dolar işaretini ve süslü parantezleri doğru kullanmak.
let userName = "Ali";
console.log(`Merhaba, ${userName}!`); // Doğru kullanım
6. Fazla veya Eksik Parantezler
Bir diğer yaygın hata ise, fonksiyon çağrılarında veya koşul ifadelerinde parantezlerin yanlış kullanımıdır. JavaScript, eksik veya fazla parantez gördüğünde "Unexpected token" hatasını fırlatır.
if (x > 10) {
console.log("Büyük");
else {
console.log("Küçük");
}
Burada `else` ifadesi eksik parantez nedeniyle hatalı. Çözüm: Her şeyin doğru şekilde yerli yerine oturduğundan emin olun.
if (x > 10) {
console.log("Büyük");
} else {
console.log("Küçük");
}
7. JavaScript Söz Dizimi Hataları
Son olarak, en yaygın hata türlerinden biri de basit söz dizimi hatalarıdır. Kodun bir yerinde yanlış yazılmış bir kelime, yanlış sözcük kullanımı veya yanlış bir sembol kullanmak, JavaScript'in hata vermesine neden olabilir.
"Unexpected token" hatası, bazen çok basit nedenlerden kaynaklanabilir. Bir parantez eksik, bir tırnak işareti yanlış veya bir noktalı virgül eksik olabilir. Önemli olan, hata mesajlarını dikkatlice inceleyip, nerede yanlış yaptığınızı bulmak ve düzelterek hatayı gidermektir.
Unutmayın, JavaScript dünyasında hata yapmak çok yaygın bir durumdur ve her hata, bizi daha iyi bir geliştirici yapmak için bir fırsattır.