Unexpected token, JavaScript motorunun bulunduğu konumda beklemediği bir karakter, ifade veya anahtar sözcükle karşılaştığını gösterir. Gerçek hata çoğu zaman Console’da işaretlenen satırdan önceki eksik parantez, tırnak, virgül veya kapanış karakteridir.
Uncaught SyntaxError: Unexpected token ')'
Unexpected token ';'
Unexpected token '}'
Expected expression, got ','Unexpected token, JavaScript motorunun bulunduğu konumda beklemediği bir karakter, ifade veya anahtar sözcükle karşılaştığını gösterir. Gerçek hata çoğu zaman Console’da işaretlenen satırdan önceki eksik parantez, tırnak, virgül veya kapanış karakteridir.
Bir SyntaxError sonraki tüm scriptleri durdurabilir; önce Console’daki ilk kırmızı kaydı çözün.
Source map, pretty print ve Network URL ile hatanın kaynak mı build mi olduğunu belirleyin.
node --check, ESLint, TypeScript veya JSON doğrulayıcıyla sorunu küçük bir alana indirin.
PHP render, API body, CDN cache ve module loader sonucunu production cevabında kontrol edin.
Hata satırını görüp yalnız o satırı rastgele değiştirmeyin.
Anlamı: Kapanış parantezi beklenmeyen konumda.
Muhtemel neden: Fazla parantez veya önceki ifadede eksik açılış.
Anlamı: Süslü parantez blok yapısını bozuyor.
Muhtemel neden: Fazla kapanış veya yanlış iç içe blok.
Anlamı: Noktalı virgül geçersiz bir ifade içinde.
Muhtemel neden: Object literal veya for döngüsü sözdizimi bozuk.
Anlamı: Virgülün iki yanında geçerli ifade yok.
Muhtemel neden: Fazla virgül veya eksik değer.
Anlamı: Backtick veya ${} yapısı kapanmamış.
Muhtemel neden: Template literal içinde eksik ` veya }.
Anlamı: HTML attribute veya PHP çıktısı JavaScript’i bozuyor.
Muhtemel neden: Tırnak çakışması veya kaçış eksikliği.
Anlamı: Parser bozuk yapıyı sonraki token’da fark etti.
Muhtemel neden: Önceki satır tamamlanmamış.
Anlamı: Kod eski runtime tarafından tanınmıyor.
Muhtemel neden: Optional chaining, nullish veya yeni syntax.
Bu ifadeyle eşleşen kayıt bulunamadı.
node --check app.jsDosyayı çalıştırmadan parser hatasını ve satırını gösterir.
npx eslint app.jsSözdizimi ve yaygın kod hatalarını raporlar.
npx prettier --check app.jsFormatter dosyayı ayrıştıramıyorsa sözdizimi hatasını işaretler.
file -bi app.jsDosyanın MIME ve karakter kodlamasını gösterir.
python3 -c "from pathlib import Path; s=Path('app.js').read_text('utf-8'); print([(i+1,hex(ord(c))) for i,c in enumerate(s) if ord(c)>127][:50])"ASCII dışı karakterlerin konumlarını listeler.
node --check src/app.js && npx terser src/app.js -c -m -o dist/app.min.jsÖnce kaynak dosyayı kontrol edip sonra minify eder.
console.log('Merhaba'));console.log('Merhaba');const ayar = { tema: 'dark' dil: 'tr' };const ayar = { tema: 'dark', dil: 'tr' };const mesaj = `Merhaba ${isim};const mesaj = `Merhaba ${isim}`;const kullanici = '<?php echo $kullanici; ?>';const kullanici = <?php echo json_encode($kullanici, JSON_UNESCAPED_UNICODE); ?>;Chrome DevTools Console, Sources ve Network panelleriyle gerçek dosya, satır ve sunucu cevabı birlikte incelenmelidir.
Node sürümü, package.json module tipi, derleme çıktısı ve çalıştırılan gerçek dosya aynı module sistemine uygun olmalıdır.
PHP uyarıları, tema HTML’i, yönlendirme ve çift script yükleme JavaScript hatası gibi görünebilir.
JavaScript parser, JSON parser veya module loader beklenen sözdizimini bulamadığında oluşur. Hata mesajı gerçek nedenin bulunduğu satırdan sonraki token’ı işaretleyebilir.
Satır çoğu zaman parser’ın hatayı fark ettiği yerdir. Eksik tırnak, parantez veya virgül bir önceki satırda olabilir.
Source map ve DevTools pretty print kullanın; asıl kaynak dosyayı düzeltip yeniden build alın.
PHP warning, HTML hata sayfası veya kaçış yapılmadan basılan veri JavaScript/JSON sözdizimini bozabilir.
Çoğu parser hatasını bulur; ancak yanlış sunucu cevabı, çift script yükleme ve runtime module yapılandırması ayrıca incelenmelidir.
Deploy, minify, cache, paket güncellemesi, Node sürümü, PHP çıktısı veya yarım yüklenen dosya davranışı değiştirmiş olabilir.
Rehber teşhis ve güvenli düzeltme adımları sunar; değişiklikler staging ortamında test edilip Git ile geri alınabilir tutulmalıdır.
Console, Fetch/AJAX, PHP JSON cevapları, ES Modules, TypeScript build ve WISECP script yükleme sorunlarını üretim yapısını bozmadan inceliyoruz.