cara mengatasi unexpected token javascript error paling cepat adalah membaca posisi token di pesan error, lalu membuka karakter tepat di posisi itu. Contoh Unexpected token '}' at position 25 berarti parser berhenti di indeks ke-25 karena menemukan kurung yang tidak punya pasangan atau koma yang salah tempat. Perbaiki satu karakter itu, validasi ulang string JSON atau file JS-nya, lalu jalankan ulang di console browser atau terminal Node.js.
Arti dan Penyebab Unexpected Token
SyntaxError ini berarti JavaScript parser menemukan karakter yang tidak sesuai urutan sintaks. Browser menampilkannya di DevTools Console, Node.js menampilkannya di terminal beserta nomor baris.
- Tanda koma, kurung
(), kurawal{}, atau kutip hilang atau berlebih dalam object, array, dan fungsi. JSON.parsemenerima HTML error page, trailing comma, atau single quote sehingga gagal diurai sebagai JSON valid.- File
type="module"memakai sintaks CommonJS sepertirequire, atau runtime lama menjalankan sintaks ES baru seperti optional chaining dan top-level await.
Tabel Error Unexpected Token dan Solusinya
Baca pesan dari kiri ke kanan. Nama token menunjukkan karakter penyebab, angka baris menunjukkan lokasi pemeriksaan.
| Error/Kondisi | Penyebab | Solusi |
|---|---|---|
| Unexpected token ‘}’ | Kurawal tutup berlebih atau koma sebelumnya salah | Hapus kurawal ganda dan rapikan struktur object |
| Unexpected token ‘)’ | Kurung fungsi tidak seimbang | Hitung pasangan buka tutup tiap fungsi |
| Unexpected token ‘,’ | Koma ganda atau koma setelah argumen terakhir versi lama | Hapus koma berlebih tersebut |
| Unexpected token ‘<‘ | Fetch menerima HTML 404, bukan JSON | Cek response.ok sebelum parse |
| Unexpected token ‘o’ at position 1 | Parse object yang sudah diawali teks o dari [object Object] |
Pastikan input masih string JSON valid |
Cara Memperbaiki Unexpected Token Langkah demi Langkah
- Catat baris dan karakter dari pesan error. Di Chrome ada format
at line 12 column 8, di Node.js ada formatat position 1. - Periksa kurung dan JSON dengan validator atau console. Tempel potongan kode ke DevTools lalu format otomatis untuk melihat pasangan kurung.
- Perbaiki contoh salah menjadi benar lewat code block berikut.
// Salah: trailing comma dan single quote
JSON.parse("{'nama': 'Andi',}");
// Benar
JSON.parse('{"nama": "Andi"}');
Versi benar memakai double quote untuk key dan string JSON, tanpa koma terakhir. Untuk fetch, periksa status dulu sebelum parse.
const res = await fetch("/api/user");
if (!res.ok) throw new Error("API gagal: " + res.status);
const data = await res.json();
- Uji ulang di browser dan Node.js sesuai konteks. File frontend diuji lewat Console, file backend diuji lewat
node namafile.js.
Cara Mencegah Error Terulang
- Aktifkan format otomatis dan linter agar koma dan kurung tidak seimbang langsung terlihat.
- Cek tipe sebelum
JSON.parsedengan memastikan respons berupa string dan diawali{atau[. - Pisahkan data JSON dari kode JavaScript agar perubahan data tidak merusak sintaks program.
- Hindari copy paste kode dari blog atau chat karena sering membawa karakter tersembunyi.
FAQ
Apa arti unexpected token o in JSON at position 1?
Artinya kode memparse teks [object Object], biasanya karena object sudah diparse lalu diparse ulang.
Kenapa unexpected token ‘<‘ muncul saat fetch API?
Server mengembalikan halaman HTML seperti 404, sedangkan kode memaksa membacanya sebagai JSON.
Apakah kurang titik koma menyebabkan unexpected token?
Jarang, karena JavaScript punya penyisipan titik koma otomatis, penyebab umumnya tetap kurung dan koma.