String Method
Method-method penting untuk mengolah teks: slice, split, includes, replace, trim, dan lainnya.
Teks juga bisa diolah
String di JavaScript punya banyak method bawaan. String itu immutable: method tidak mengubah string asli, melainkan mengembalikan string baru.
Mengambil dan memeriksa
let teks = "Belajar JavaScript";
console.log(teks.length); // 18, jumlah karakter
console.log(teks.toUpperCase()); // "BELAJAR JAVASCRIPT"
console.log(teks.toLowerCase()); // "belajar javascript"
console.log(teks.includes("Java")); // true, mengandung?
console.log(teks.startsWith("Bel")); // true, awalan?
console.log(teks.endsWith("ipt")); // true, akhiran?Memotong dan memecah
let teks = "Belajar JavaScript";
console.log(teks.slice(0, 7)); // "Belajar", index 0 sampai 6
console.log(teks.slice(8)); // "JavaScript", dari index 8 sampai akhir
let csv = "apel,mangga,jeruk";
console.log(csv.split(",")); // ["apel", "mangga", "jeruk"]
let berantakan = " halo ";
console.log(berantakan.trim()); // "halo", buang spasi ujungsplit sangat berguna untuk memecah input pengguna atau data CSV sederhana.
Mengganti
let kalimat = "Saya suka apel. Apel itu enak.";
console.log(kalimat.replace("apel", "mangga"));
// "Saya suka mangga. Apel itu enak." (hanya pertama!)
console.log(kalimat.replaceAll("apel", "mangga"));
// "Saya suka mangga. Apel itu enak." (case sensitif)replace hanya mengganti kemunculan pertama. Untuk semua kemunculan, pakai replaceAll atau regex dengan flag g.
Mengakses karakter
let kata = "halo";
console.log(kata[0]); // "h"
console.log(kata.charAt(1)); // "a"
console.log(kata.indexOf("l")); // 2, posisi pertama "l"Catatan teknis: String immutable berarti teks = teks.toUpperCase() tanpa assignment tidak mengubah apa-apa. Selalu tangkap hasil returnnya: teks = teks.trim(). Ini jebakan umum saat membersihkan input form.
Studi kasus: rapikan nama
Input pengguna sering berantakan. Kombinasi method string merapikannya:
function rapikanNama(input) {
return input
.trim() // buang spasi ujung
.toLowerCase() // seragamkan dulu
.split(" ") // pecah per kata
.filter(kata => kata) // buang kata kosong
.map(kata => kata[0].toUpperCase() + kata.slice(1)) // kapital tiap kata
.join(" "); // gabung lagi
}
console.log(rapikanNama(" rIZky PRATAMA ")); // "Rizky Pratama"Lihat rangkaiannya: tiap method menghasilkan string baru untuk method berikutnya. Ini gaya pemrograman fungsional yang elegan untuk pengolahan teks. Pola seperti ini dipakai di validasi form, format tampilan, dan pembersihan data.
Mencari posisi teks
Selain includes, ada method untuk posisi persis:
let kalimat = "saya belajar javascript, javascript itu seru";
console.log(kalimat.indexOf("javascript")); // 13
console.log(kalimat.lastIndexOf("javascript")); // 25
console.log(kalimat.indexOf("python")); // -1, tidak ketemuindexOf mengembalikan -1 kalau tidak ketemu, jadi pola klasiknya adalah if (teks.indexOf(x) !== -1). Di kode modern, includes(x) lebih mudah dibaca untuk cek keberadaan, sedangkan indexOf dipakai saat posisinya memang dibutuhkan.
Kesimpulan
Hafalkan yang sering dipakai: length, includes, slice, split, trim, replace, toUpperCase/toLowerCase. Sisanya bisa dicari saat butuh. Pengolahan string adalah 80% pekerjaan validasi dan formatting.