Rumah > hujung hadapan web > tutorial js > Bersedia untuk ECMAScript 6: Kaedah String Baru - String.Prototype.*

Bersedia untuk ECMAScript 6: Kaedah String Baru - String.Prototype.*

William Shakespeare
Lepaskan: 2025-02-15 10:10:12
asal
743 orang telah melayarinya

Bersedia untuk ECMAScript 6: Kaedah String Baru - String.Prototype.*

Dalam artikel terdahulu saya mengenai kaedah array ES6, saya memperkenalkan kaedah baru yang terdapat dalam ECMAScript 6 yang bekerja dengan jenis array. Dalam tutorial ini, anda akan belajar tentang kaedah ES6 baru yang berfungsi dengan rentetan: string.prototype.*

Kami akan membangunkan beberapa contoh, dan menyebutkan polyfills yang tersedia untuk mereka. Ingatlah bahawa jika anda ingin mengasah mereka semua menggunakan perpustakaan tunggal, anda boleh menggunakan ES6-shim oleh Paul Miller.

Takeaways Key

    ES6 memperkenalkan beberapa kaedah baru untuk manipulasi rentetan, termasuk string.prototype.startSwith (), string.prototype.endswith (), string.prototype.includes (), string.prototype.Repeat (), dan string.raw ( ). Kaedah ini memberikan cara yang lebih mudah dan lebih cekap untuk memeriksa sama ada rentetan bermula atau berakhir dengan substring yang diberikan, jika rentetan mengandungi substring tertentu, untuk mengulangi rentetan bilangan kali tertentu, dan memproses rentetan templat.
  • String.Prototype.StartSwith () dan String.Prototype.endSwith () Kaedah dalam ES6 membolehkan anda mengesahkan jika rentetan bermula atau berakhir dengan substring yang diberikan. Kedua -duanya menerima substring dan kedudukan sebagai parameter, dan kembali benar atau palsu bergantung kepada sama ada rentetan bermula atau berakhir dengan substring yang disediakan.
  • Kaedah String.Prototype.includes () dalam ES6 kembali benar jika rentetan terkandung dalam rentetan lain, tidak kira kedudukannya. Ia menerima parameter yang sama seperti kaedah startswith () dan endswith ().
  • Kaedah String.Prototype.Repeat () dalam ES6 Mengembalikan rentetan baru yang mengandungi rentetan asal mengulangi bilangan kali yang ditentukan. Fungsi string.raw () adalah fungsi tag rentetan templat yang menyusun rentetan dan menggantikan ruang letak dengan nilai yang disediakan.
string.prototype.startswith ()

Salah satu fungsi yang paling banyak digunakan dalam setiap bahasa pengaturcaraan moden adalah untuk mengesahkan jika rentetan bermula dengan substring yang diberikan. Sebelum ES6, JavaScript tidak mempunyai fungsi sedemikian, bermakna anda perlu menulis sendiri. Kod berikut menunjukkan bagaimana pemaju biasanya polyfilled:

<span>if (typeof String.prototype.startsWith !== 'function') {
</span>  <span>String.prototype.startsWith = function (str){
</span>    <span>return this.indexOf(str) === 0;
</span>  <span>};
</span><span>}
</span>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
atau, sebagai alternatif:

<span>if (typeof String.prototype.startsWith !== 'function') {
</span>  <span>String.prototype.startsWith = function (str){
</span>    <span>return this.substring(0, str.length) === str;
</span>  <span>};
</span><span>}
</span>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Coretan ini masih sah, tetapi mereka tidak menghasilkan semula apa yang baru tersedia String.Prototype.StartSwith () kaedah. Kaedah baru mempunyai sintaks berikut:

<span>String.prototype.startsWith(searchString[, position]);
</span>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
anda dapat melihatnya, sebagai tambahan kepada substring, ia menerima hujah kedua. Parameter carian menentukan substring yang anda ingin sahkan adalah permulaan rentetan. Kedudukan menunjukkan kedudukan di mana untuk memulakan carian. Nilai lalai kedudukan adalah 0. Kaedah mengembalikan benar jika rentetan bermula dengan substring yang disediakan, dan sebaliknya palsu. Ingat bahawa kaedah itu sensitif kes, jadi "hello" berbeza dengan "hello".

Penggunaan contoh kaedah ini ditunjukkan di bawah:

<span>if (typeof String.prototype.startsWith !== 'function') {
</span>  <span>String.prototype.startsWith = function (str){
</span>    <span>return this.indexOf(str) === 0;
</span>  <span>};
</span><span>}
</span>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

demo langsung kod terdahulu ditunjukkan di bawah dan juga boleh didapati di JSBin.

Kaedah ini disokong dalam nod dan semua pelayar moden, kecuali Internet Explorer. Jika anda perlu menyokong penyemak imbas yang lebih tua, polyfill untuk kaedah ini boleh didapati di halaman kaedah di MDN. Polyfill lain juga telah dibangunkan oleh Mathias Bynens.

string.prototype.endswith ()

Selain string.prototype.startSwith (), EcMascript 6 memperkenalkan kaedah String.Prototype.endSwith (). Ia mengesahkan bahawa rentetan tamat dengan substring yang diberikan. Sintaks kaedah ini, yang ditunjukkan di bawah, sangat mirip dengan string.prototype.StartSwith ():

<span>if (typeof String.prototype.startsWith !== 'function') {
</span>  <span>String.prototype.startsWith = function (str){
</span>    <span>return this.substring(0, str.length) === str;
</span>  <span>};
</span><span>}
</span>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

seperti yang anda lihat, kaedah ini menerima parameter yang sama seperti String.Prototype.StartSwith (), dan juga mengembalikan jenis nilai yang sama.

Perbezaannya ialah parameter kedudukan membolehkan anda mencari dalam rentetan seolah -olah rentetan hanya panjang ini. Dalam erti kata lain, jika kita mempunyai rumah rentetan dan kita memanggil kaedah dengan 'house'.endswith (' us ', 4), kita mendapat benar, kerana ia seperti kita sebenarnya mempunyai rentetan rumah (perhatikan "e" yang hilang) .

Penggunaan contoh kaedah ini ditunjukkan di bawah:

<span>String.prototype.startsWith(searchString[, position]);
</span>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Demo langsung coretan sebelumnya ditunjukkan di bawah dan juga boleh didapati di JSBin.

Kaedah ini disokong dalam nod dan semua pelayar moden, kecuali Internet Explorer. Jika anda perlu menyokong penyemak imbas yang lebih tua, polyfill untuk kaedah ini boleh didapati di halaman kaedah di MDN. Polyfill lain telah dibangunkan oleh Mathias Bynens.

string.prototype.includes ()

Semasa kita bercakap tentang mengesahkan jika satu rentetan terkandung dalam yang lain, izinkan saya memperkenalkan anda ke kaedah String.Prototype.includes (). Ia kembali benar jika rentetan terkandung dalam yang lain, tidak kira di mana, dan sebaliknya.

sintaksnya ditunjukkan di bawah:

<span>const str = 'hello!';
</span><span>let result = str.startsWith('he');
</span>
<span>// prints "true"
</span><span>console.log(result);
</span>
<span>// verify starting from the third character
</span>result <span>= str.startsWith('ll', 2);
</span>
<span>// prints "true"
</span><span>console.log(result);
</span>
Salin selepas log masuk
Salin selepas log masuk

Makna parameter adalah sama seperti untuk string.prototype.startswith (), jadi saya tidak akan mengulanginya. Penggunaan contoh kaedah ini ditunjukkan di bawah:

<span>String.prototype.endsWith(searchString[, position]);
</span>
Salin selepas log masuk

anda boleh mencari demo langsung di bawah dan juga seperti di JSBin.

string.prototype.includes () disokong dalam nod dan semua pelayar moden, kecuali Internet Explorer. Jika anda perlu menyokong pelayar yang lebih tua, seperti kaedah lain yang dibincangkan dalam tutorial ini, anda boleh mencari polyfill yang disediakan oleh Mathias Bynens (lelaki ini tahu bagaimana untuk melakukan tugasnya!) Dan satu lagi di rangkaian pemaju Mozilla.

NOTA: Sehingga versi 48, Firefox menggunakan nama yang tidak standard. string.prototype.repeat ()

mari kita bergerak ke kaedah lain. String.Prototype.Repeat () adalah kaedah yang mengembalikan rentetan baru yang mengandungi rentetan yang sama ia dipanggil tetapi mengulangi bilangan kali tertentu. Sintaks kaedah ini adalah seperti berikut:

<span>if (typeof String.prototype.startsWith !== 'function') {
</span>  <span>String.prototype.startsWith = function (str){
</span>    <span>return this.indexOf(str) === 0;
</span>  <span>};
</span><span>}
</span>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Parameter Times menunjukkan bilangan kali rentetan mesti diulang. Jika anda lulus sifar, anda akan mendapat rentetan kosong, sementara jika anda lulus nombor negatif atau tak terhingga, anda akan mendapat rangeError.

Penggunaan contoh kaedah ini ditunjukkan di bawah:

<span>if (typeof String.prototype.startsWith !== 'function') {
</span>  <span>String.prototype.startsWith = function (str){
</span>    <span>return this.substring(0, str.length) === str;
</span>  <span>};
</span><span>}
</span>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

demo langsung kod sebelumnya ditunjukkan di bawah dan juga boleh didapati di JSBin.

Kaedah ini disokong dalam nod dan semua pelayar moden, kecuali Internet Explorer. Jika anda perlu menyokong penyemak imbas yang lebih tua, dua polyfills tersedia untuk kaedah ini: yang dibangunkan oleh Mathias Bynens dan satu lagi di Rangkaian Pemaju Mozilla.

string.raw ()

Kaedah terakhir yang saya ingin tutupi dalam tutorial ini adalah string.raw (). Ia ditakrifkan sebagai fungsi tag rentetan template . Ia menarik, kerana ia adalah pengganti untuk perpustakaan templat, walaupun saya tidak 100% pasti ia boleh skala cukup untuk menggantikan perpustakaan tersebut. Walau bagaimanapun, idea itu pada dasarnya sama seperti yang akan kita lihat tidak lama lagi. Apa yang dilakukannya ialah menyusun rentetan dan menggantikan setiap pemegang tempat dengan nilai yang disediakan.

sintaksinya adalah yang berikut (perhatikan backticks):

<span>String.prototype.startsWith(searchString[, position]);
</span>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

parameter templatestring mewakili rentetan yang mengandungi templat untuk diproses.

untuk lebih memahami konsep ini, mari kita lihat contoh konkrit:

<span>const str = 'hello!';
</span><span>let result = str.startsWith('he');
</span>
<span>// prints "true"
</span><span>console.log(result);
</span>
<span>// verify starting from the third character
</span>result <span>= str.startsWith('ll', 2);
</span>
<span>// prints "true"
</span><span>console.log(result);
</span>
Salin selepas log masuk
Salin selepas log masuk

demo langsung kod sebelumnya ditunjukkan di bawah dan juga boleh didapati di JSBin.

Kaedah ini disokong dalam Node dan semua pelayar moden, kecuali Opera dan Internet Explorer. Sekiranya anda perlu menyokong penyemak imbas yang lebih tua, anda boleh menggunakan polyfill, seperti yang terdapat pada npm.

Kesimpulan

Dalam tutorial ini, anda telah belajar tentang beberapa kaedah baru yang diperkenalkan dalam ECMAScript 6 yang bekerja dengan rentetan. Kaedah lain yang tidak kami tutup adalah string.FromCodePoint (), string.prototype.codepointat (), dan string.prototype.normalize (). Saya harap anda menikmati artikel ini dan anda akan terus mengikuti saluran kami untuk mengetahui lebih lanjut mengenai ECMAScript 6.

soalan yang sering ditanya mengenai kaedah rentetan ES6

Apakah kaedah rentetan baru yang diperkenalkan dalam ES6?

ES6, juga dikenali sebagai ECMAScript 2015, memperkenalkan beberapa kaedah rentetan baru untuk membuat manipulasi rentetan lebih mudah dan lebih cekap. Ini termasuk kaedah seperti StartSwith (), EndSwith (), termasuk (), ulang (), dan literals templat. Kaedah StartSwith () memeriksa jika rentetan bermula dengan rentetan yang ditentukan, sementara endSwith () memeriksa jika rentetan berakhir dengan rentetan yang ditentukan. Kaedah termasuk () cek jika rentetan mengandungi rentetan yang ditentukan. Kaedah ulangan () mengulangi rentetan bilangan kali yang ditentukan. Literasi templat membolehkan anda menanamkan ungkapan dalam literal rentetan, menggunakan sintaks $ {}.

Bagaimanakah kaedah StartSwith () berfungsi dalam ES6?

Kaedah StartSwith () dalam ES6 digunakan untuk menentukan sama ada rentetan bermula dengan aksara rentetan yang ditentukan. Ia kembali benar jika rentetan bermula dengan rentetan yang ditentukan dan sebaliknya. Sintaks adalah str.startswith (carianString [, kedudukan]). Carian carian adalah watak -watak yang akan dicari pada permulaan STR. Kedudukan, yang pilihan, adalah kedudukan dalam rentetan di mana carian harus bermula. Sekiranya ditinggalkan, carian bermula pada permulaan rentet dengan watak -watak rentetan yang ditentukan. Ia kembali benar jika rentetan berakhir dengan rentetan yang ditentukan dan sebaliknya. Sintaks adalah str.endswith (carianstring [, panjang]). Carian carian adalah watak -watak yang akan dicari pada akhir STR. Panjang, yang pilihan, adalah panjang rentetan yang akan dicari. Jika ditinggalkan, panjang rentetan digunakan.

Bolehkah saya menggunakan kaedah rentetan ES6 dalam semua pelayar?

Pelayar yang paling moden menyokong kaedah rentetan ES6. Walau bagaimanapun, untuk penyemak imbas yang lebih tua yang tidak menyokong ES6, anda mungkin perlu menggunakan transpiler seperti Babel untuk menukar kod ES6 ke ES5, yang lebih banyak disokong. 🎜>

Beberapa kaedah rentetan ES6 boleh digunakan dengan tatasusunan. Sebagai contoh, kaedah termasuk () boleh digunakan untuk menentukan sama ada array mengandungi elemen tertentu. Walau bagaimanapun, tidak semua kaedah rentetan boleh digunakan untuk tatasusunan. Adalah penting untuk memahami penggunaan dan batasan khusus setiap kaedah. Dengan templat yang ditandakan, anda boleh menghuraikan literals templat dengan fungsi. Hujah pertama fungsi tag mengandungi pelbagai nilai rentetan. Hujah yang selebihnya berkaitan dengan ungkapan. Fungsi tag kemudian boleh melakukan operasi pada hujah -hujah ini dan mengembalikan rentetan dimanipulasi.

Atas ialah kandungan terperinci Bersedia untuk ECMAScript 6: Kaedah String Baru - String.Prototype.*. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan