JavaScript‎ > ‎

Error: Unterminated string constant

Bagi Anda yang mengkode dengan JavaScript, ada mungkin hal spesial yang ada di JavaScript, dan menjengkelkan, yaitu: string tidak dapat mengandung baris baru!

Untuk lebih jelasnya, perhatikan contoh kasus dibawah.

Contoh Kasus

Perhatikan kode berikut:
  var x = '<table>
</table>';

Jika Anda menjalankan kode tersebut, maka Anda akan menemui error Unterminated string constant.

Solusi (Jika Anda masih punya kesempatan untuk mengganti stringnya)

gunakan karakter escape, yaitu backslash \ pada setiap akhir baris.

Contoh:

Pada editor Anda, Anda dapat gunakan regex (regular expression) berikut:
Find what: \n
Replace with: \\\n

perhatikan, bahwa Anda harus mencentang tanda Regular expression saat mereplace selection, dan pilih juga Selection, seperti tampilan Editplus di gambar. Saya menggunakan Editplus karena walaupun trialnya sudah habis, masih dapat digunakan. Sebenarnya banyak editor yang lain yang lebih powerful dan opensource (seperti Notepad++, VIM), tapi saya sedikit lebih terbiasa dengan Editplus.

Sebenarnya, Anda dapat menggunkan $, tanda akhir baris, tapi, untuk beberapa text editor, flag m (multi line) biasanya hidup, sehingga yang diganti cuma baris terakhir selection.

Solusi (Jika runtime)

  • Konversi dulu newline input menjadi \n\r atau \n atau \r saja, tergantung preferensi OS Anda, sebelum dimasukkan ke variable string. 
  • Kadang backslash mesti di double escape \\n di dalam quote.
  • Gunakan fungsi window.onerror untuk mentrap error. Perhatikan bahwa fungsi harus me-return true. 
    window.onerror = function (e){alert (e);return true;}



Comments