Escaper String JavaScript
Escape teks untuk literal string JavaScript ("…", '…', atau `…`) dengan \n, \t, \" dan opsional \uXXXX untuk non-ASCII – atau unescape string JS kembali ke teks.
36 karakter · 40 byte (UTF-8)
0 karakter · 0 byte (UTF-8)
Berjalan sepenuhnya di browser Anda. Data Anda tidak pernah diunggah.
Apa itu JavaScript Escape?
Mengubah teks apa pun menjadi isi literal string JavaScript yang valid sesuai gaya tanda kutip yang Anda pilih, dan mengonversi string JS yang ter-escape kembali menjadi teks biasa.
Cara menggunakan JavaScript Escape
- Pilih Escape atau Unescape.
- Untuk escape, pilih Pembatas string (tanda kutip ganda, tunggal, atau template literal) dan opsional Escape non-ASCII sebagai \uXXXX.
- Tempel teks ke Masukan lalu salin Keluaran di antara tanda kutip Anda.
Contoh
Path: C:\temp "new"
Path: C:\\temp \"new\"
Pembatas tanda kutip ganda.
Kapan menggunakan JavaScript Escape
Gunakan saat menulis langsung teks, template, atau data mirip JSON ke kode sumber JavaScript atau TypeScript. Untuk menyematkan data di tag HTML <script>, pastikan juga </script> tidak bisa muncul; untuk data JSON, gunakan JSON.stringify atau format JSON di alat Escape/Unescape.
Cara kerja JavaScript Escape
Escape mengganti backslash, newline, carriage return, tab, backspace, form feed, dan vertical tab dengan \\ \n \r \t \b \f \v; karakter tanda kutip yang dipilih diberi backslash (untuk template literal juga ${); karakter kontrol lain menjadi \xHH, dan U+2028/U+2029 selalu di-escape karena merusak parser lama. Dengan opsi non-ASCII, setiap karakter di atas U+007E menjadi \uXXXX (surrogate pair untuk emoji). Unescape memahami semua escape JS termasuk \u{…}, \xHH, oktal lawas, dan kelanjutan baris.
Kasus Penggunaan Umum
- Menempel teks multi-baris ke konstanta string JS
- Meng-escape tanda kutip dalam string untuk generator kode
- Membuat file sumber khusus ASCII dengan escape \u
- Membaca string ter-escape dari kode yang di-minify atau log
Pertanyaan Umum
Tanda kutip mana yang di-escape?
Hanya yang Anda pilih sebagai pembatas (ditambah backtick dan ${ dalam mode template), sehingga output tetap terbaca.
Mengapa U+2028 dan U+2029 di-escape?
Sebelum ES2019, keduanya diperlakukan sebagai akhir baris di dalam literal string dan bisa merusak kode di engine lama.
Apakah outputnya JSON yang valid?
Tidak selalu – JSON tidak mengizinkan \x, \v, atau string bertanda kutip tunggal. Gunakan format JSON di alat Escape/Unescape untuk JSON.