String method adalah perintah bawaan yang bisa dipakai di setiap string buat mengolah teks: mengubah huruf, mencari, memotong, mengganti. Cara memanggilnya: string, titik, nama method, lalu tanda kurung. Hasilnya selalu nilai baru, string aslinya gak berubah.
🧪 Tebakan cepat: kamu menjalankan
teks.toUpperCase(), laluconsole.log(teks). Yang tercetak huruf besar atau bukan? Tebak dulu, jawabannya ada di bagian "Memanggil method".
Memanggil method
const teks = "Belajar JavaScript";
const hasil = teks.toUpperCase();
console.log(hasil); // BELAJAR JAVASCRIPT
console.log(teks); // Belajar JavaScript
teks.toUpperCase()artinya: ambil string diteks, lalu jalankan methodtoUpperCasepadanya. Tanda kurung()yang menjalankannya, jadi wajib ditulis.- Method memberi hasil (mengembalikan nilai) berupa string baru, di sini disimpan di
hasil. tekstetap seperti semula. String di JavaScript gak bisa diubah isinya, jadi setiap method membuat string baru. Mau menyimpan hasilnya? Taruh di variabel:const hasil = teks.toUpperCase();.
Jawaban tebakan: bukan. console.log(teks) tetap mencetak Belajar JavaScript.
Method yang sering dipakai
Komentar di kanan menunjukkan nilai yang dikembalikan tiap baris:
"halo".toUpperCase() // "HALO"
"HALO".toLowerCase() // "halo"
" halo ".trim() // "halo"
"Belajar JS".includes("JS") // true
"Belajar JS".includes("js") // false
"Halo Dunia".slice(0, 4) // "Halo"
"a-b-a".replace("a", "X") // "X-b-a"
"a-b-a".replaceAll("a", "X") // "X-b-X"
toUpperCase()dantoLowerCase()mengubah semua huruf jadi besar atau kecil.trim()membuang spasi di awal dan akhir, bukan yang di tengah.includes("JS")memberitruekalau teksnya mengandung"JS". Huruf besar-kecil ikut dicek.slice(0, 4)mengambil potongan dari posisi 0 sampai sebelum posisi 4. Posisi (index) huruf dihitung mulai dari 0.replacecuma mengganti yang pertama ketemu.replaceAllmengganti semuanya.
Memecah teks dengan split
const kalimat = "aku suka kopi";
const kata = kalimat.split(" ");
console.log(kata); // ["aku", "suka", "kopi"]
console.log(kata.length); // 3
split(" ")memotong teks di setiap spasi dan memberi array, yaitu daftar nilai (lihat lesson Tipe Data)..lengthpada array memberi jumlah isinya. Jadi jumlah kata dalam kalimat adalahkalimat.split(" ").length. Pada string,.lengthmenghitung huruf, bukan kata.split(""), dengan kutip kosong, memotong di antara setiap huruf:"kopi".split("")memberi["k", "o", "p", "i"].
Merangkai method: membalik teks
String gak punya method buat membalik, tapi array punya. Jadi pecah dulu, balik, lalu gabung lagi:
"kopi".split("").reverse().join("") // "ipok"
split("")memberi["k", "o", "p", "i"]..reverse()membalik urutan array itu jadi["i", "p", "o", "k"]..join("")menggabungkan isi array jadi satu string tanpa pemisah:"ipok".
Method dijalankan dari kiri ke kanan, dan tiap method bekerja pada hasil method sebelumnya.
Di latihan, method dipakai di dalam fungsi. Datanya datang lewat parameter, dan hasilnya dikembalikan dengan return. Tanpa return, fungsinya memberi undefined:
function teriak(teks) {
return teks.toUpperCase() + "!";
}
console.log(teriak("halo")); // HALO!
⚠️ Jebakan yang sering ketemu
- Lupa tanda kurung.
teks.toUpperCasetanpa()gak menjalankan method-nya. - Salah ketik nama method.
revers()atautouppercase()bikin erroris not a function. Nama method peka huruf besar-kecil:toUpperCase, dengan U dan C besar. - Mengira string aslinya ikut berubah. Simpan hasilnya di variabel, atau langsung
returnhasilnya.
TL;DR: Method dipanggil dengan teks.namaMethod() dan selalu mengembalikan nilai baru, string aslinya tetap. toUpperCase(), toLowerCase(), trim(), includes(), slice(), replace() dan replaceAll() mengolah teks. split(" ") memecah teks jadi array kata, dan .length menghitung isinya. Membalik teks: split(""), reverse(), lalu join(""). Di dalam fungsi, olah parameternya dan kembalikan hasilnya dengan return.