Cara Escape Karakter Spesial dalam String JavaScript

Metode Escape Karakter Spesial

Dalam JavaScript, karakter spesial seperti tanda kutip, backslash, atau karakter kontrol harus di-escape agar tidak merusak sintaks string. Cara paling mendasar adalah menggunakan karakter backslash (\) sebagai escape character. Jika Anda ingin menyertakan tanda kutip tunggal di dalam string yang diapit kutip tunggal, atau kutip ganda di dalam kutip ganda, gunakan backslash sebelum karakter tersebut.

Tabel Karakter Escape Umum

KarakterEscape SequenceDeskripsi
Kutip Tunggal\'Menampilkan '
Kutip Ganda\"Menampilkan "
Backslash\\Menampilkan \
Baris Baru\nPindah ke baris baru
Tab\tMenambahkan spasi tab
Carriage Return\rKembali ke awal baris

Penggunaan Template Literals

Template literals (menggunakan backtick `) mempermudah penulisan string yang mengandung kutip tunggal maupun ganda tanpa perlu melakukan escape secara manual. Namun, backtick itu sendiri tetap harus di-escape jika ingin digunakan di dalam template literal.

// Contoh penggunaan backslash
const kutip = 'It\'s a beautiful day';

// Contoh Template Literals
const pesan = `Dia berkata, "Halo!" dan ini adalah backtick: \``;

Encoding untuk URL

Jika kebutuhan Anda adalah mengamankan string untuk digunakan dalam URL, jangan gunakan escape manual. Gunakan fungsi bawaan JavaScript encodeURIComponent() untuk mengubah karakter spesial menjadi format yang aman untuk dikirim melalui HTTP.

const urlParam = "nama=Azwinn & Co";
const aman = encodeURIComponent(urlParam);
console.log(aman); // Hasil: nama%3DAzwinn%20%26%20Co

Tips Troubleshooting

  • Unterminated String: Sering terjadi jika Anda lupa menutup kutip atau salah menggunakan jenis kutip yang sama di dalam string.
  • JSON.stringify: Jika Anda perlu mengonversi objek menjadi string JSON, gunakan JSON.stringify() karena metode ini secara otomatis menangani semua karakter spesial yang diperlukan agar string valid secara format JSON.
  • Backslash Ganda: Ingat bahwa dalam regex atau path file Windows, Anda sering membutuhkan double backslash (\\) untuk merepresentasikan satu backslash literal.