Rumah >hujung hadapan web >tutorial js >ES6 buat masa ini: rentetan templat
literasi templat ES6: Pendekatan moden untuk tali javascript
sorotan utama:
(artikel ini adalah sebahagian daripada siri pembangunan Web Microsoft. Terima kasih kepada rakan kongsi kami untuk menyokong SitePoint.)
ES6 adalah masa kini dan masa depan JavaScript. Siri ini meneroka ciri -ciri yang paling berguna. Gaya pengekodan saya secara konsisten menggunakan petikan tunggal untuk rentetan, menawarkan kelebihan dalam pembinaan rentetan HTML:
<code class="language-javascript">// Single quotes simplify HTML attribute quoting var buttonText = 'Save'; </code>Mengelakkan watak melarikan diri meningkatkan kebolehbacaan. Walaupun HTML adalah fleksibel, mengutamakan kod yang boleh dibaca manusia adalah kunci. Saya telah belajar dari pengalaman masa lalu dengan kerumitan DHTML untuk menghargai penyelesaian yang bersih.
Penggantian ekspresi dan kebolehbacaan yang dipertingkatkan:
Keutamaan saya untuk petikan tunggal berpunca dari latar belakang PHP saya, di mana mereka menghalang penggantian berubah -ubah, meningkatkan prestasi. JavaScript sebelum ini tidak mempunyai ciri ini, memerlukan penyambungan rentetan:
<code class="language-javascript">var animal = 'cow'; var sound = 'moo'; alert('The animal is ' + animal + ' and its sound is ' + sound); </code>Ini menjadi rumit dengan rentetan yang lebih panjang dan sering menyebabkan kesilapan. Kekurangan rentetan multiline asli JavaScript semakin merumitkan perkara.
literals templat: Penyelesaian:
literasi templat ES6 menyelesaikan masalah ini. Backtick (`) membolehkan penggantian ekspresi dan rentetan multiline:
<code class="language-javascript">var animal = 'cow'; var sound = 'moo'; alert(`The animal is ${animal} and its sound is ${sound}`);</code>
Membina mengendalikan sebarang ungkapan JavaScript, membolehkan pengiraan dan akses harta benda objek: ${}
<code class="language-javascript">var output = `ten times two is ${10 * 2}`;</code>rentetan multiline kini tidak mudah:
<code class="language-javascript">var list = ` - Buy Milk - Be kind to Pandas - Forget about Dre `;</code>
templat tagged:
literals templat boleh "ditandai" dengan fungsi, membolehkan manipulasi rentetan tersuai:
<code class="language-javascript">function urlify(str) { return encodeURIComponent(str); } urlify`http://example.com`;</code>Fungsi ini menerima rentetan sebagai hujah, yang membolehkan operasi seperti pengekodan URL.
mengakses bahagian rentetan dalam fungsi tag:
Harta
<code class="language-javascript">function tag(strings, values) { console.log(strings); // Array of string parts console.log(values); // Array of embedded expressions } tag`you ${3 + 4} it`;</code>
strings.raw
keserasian penyemak imbas dan pengesanan ciri:
Walaupun kebanyakan pelayar moden menyokong literasi templat, transpilasi ES6 (mis., Menggunakan Babel) diperlukan untuk penyemak imbas yang lebih tua. Pengesanan ciri memastikan keserasian:
<code class="language-javascript">// Single quotes simplify HTML attribute quoting var buttonText = 'Save'; </code>
Bacaan dan sumber selanjutnya: (pautan yang ditinggalkan untuk keringkasan, tetapi teks asal termasuk pautan ke pelbagai artikel mengenai literal template.)
Siri Pembangunan Web Microsoft Web:(butiran mengenai sumber pembangunan web Microsoft, termasuk alat dan bahan pembelajaran, dimasukkan ke dalam teks asal tetapi ditinggalkan di sini untuk keringkasan.)
Soalan -soalan yang sering ditanya:(teks asal mengandungi bahagian FAQ yang komprehensif mengenai literals templat, yang ditinggalkan di sini kerana kekangan panjang.)
Atas ialah kandungan terperinci ES6 buat masa ini: rentetan templat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!