Melepaskan Garis Senja Ke Belakang dalam Rentetan
Dalam JavaScript, aksara sengkang terbalik memegang kepentingan dalam kedua-dua rentetan dan ungkapan biasa. Ini menimbulkan cabaran apabila cuba menyertakan garis serong terbalik kendiri dalam teks. Untuk mencapai matlamat ini, anda perlu melarikan diri daripada garisan ke belakang menggunakan dua yang berturut-turut ().
String
Apabila mencipta rentetan, garisan belakang pertama bertindak sebagai watak melarikan diri, manakala yang kedua mewakili garis miring ke belakang yang sebenar. Contohnya:
const str = "\"\I have one backslash\""; console.log(str); // \I have one backslash
Ungkapan Biasa
Begitu juga, dalam ungkapan biasa, dua garisan ke belakang berturut-turut diperlukan untuk memadankan satu garisan ke belakang. Ini kerana garis miring ke belakang pertama berfungsi sebagai watak melarikan diri dalam literal ungkapan biasa. Contohnya:
const regex = /\/; // Match a single backslash
Menggunakan Rentetan untuk Mencipta Ungkapan Biasa
Apabila menggunakan rentetan untuk membina ungkapan biasa, adalah penting untuk mempertimbangkan dua tahap pelarian. Mula-mula, garis miring ke belakang mesti dilepaskan dalam rentetan, dan kemudian dilepaskan semula dalam ungkapan biasa yang dibuat. Akibatnya, empat garis miring ke belakang diperlukan secara keseluruhan.
const regex = new RegExp("\\"); // Matches a single backslash using a string
Kemas Kini ES2015 dan ES2018
Dalam versi JavaScript terbaharu, literal templat menyediakan kaedah alternatif untuk memasukkan garis miring ke belakang dalam rentetan . Fungsi String.raw juga boleh digunakan untuk mencapai ini.
const str = String.raw`\apple`; // Valid ES2015 syntax
Perlu diambil perhatian bahawa literal templat harus digunakan dengan berhati-hati, kerana ia tidak menyokong penggantian yang mengandungi aksara ${. Memasukkan ${ di dalam literal templat akan menghasilkan kemasukan garis sembang ke belakang dalam rentetan, sama seperti contoh di bawah:
const foo = "bar"; const str = String.raw`\apple${foo}`; // Results in \applebar
Atas ialah kandungan terperinci Bagaimanakah Saya Melarikan Diri daripada Garis Sentak Belakang dalam Rentetan JavaScript dan Ungkapan Biasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!