String adalah urutan huruf, angka, karakter khusus, dan nilai aritmatika atau kombinasi dari semuanya. String dapat dibuat dengan melampirkan string literal (mis. Karakter string) baik dalam tanda kutip single (‘) atau tanda kutip double (“), seperti yang ditunjukkan dalam contoh di bawah ini:
var myString = 'Hello World!'; // Single quoted string var myString = "Hello World!"; // Double quoted string
Kalian dapat menggunakan tanda kutip di dalam string, asalkan berbeda dengan tanda kutip yang mengelilingi string:
var str1 = "it's okay"; var str2 = 'He said "Goodbye"'; var str3 = "She replied 'Calm down, please'"; var str4 = 'Hi, there!"; // Syntax error - quotes must match
Namun, kalian masih dapat menggunakan tanda kutip tunggal di dalam string kutip tunggal atau tanda kutip ganda di dalam string kutip ganda dengan mengganti tanda kutip dengan karakter backslash (\), seperti ini:
var str1 = 'it\'s okay'; var str2 = "He said \"Goodbye\""; var str3 = 'She replied \'Calm down, please\'';
JavaScript Escape Sequences
Escape sequence juga berguna untuk situasi di mana kalian ingin menggunakan karakter yang tidak bisa diketik menggunakan keyboard. Berikut adalah escape sequence yang paling umum digunakan.
- \n digantikan oleh karakter baris baru
- \t digantikan oleh karakter tab
- \r digantikan oleh karakter carriage-return
- \b digantikan oleh karakter backspace
- \\ digantikan oleh backslash tunggal (\)
Berikut adalah contoh untuk memperjelas bagaimana sebenarnya escape sequence berfungsi:
var str1 = "The quick brown fox \n jumps over the lazy dog."; document.write("<pre>" + str1 + "</pre>"); // Create line break var str2 = "C:\Users\Downloads"; document.write(str2); // Prints C:UsersDownloads var str3 = "C:\\Users\\Downloads"; document.write(str3); // Prints C:\Users\Downloads
Melakukan Operasi pada String
JavaScript menyediakan beberapa properti dan metode untuk melakukan operasi pada nilai string. Secara teknis, hanya objek yang dapat memiliki properti dan metode. Tetapi dalam JavaScript tipe data primitif dapat bertindak seperti objek ketika kalian merujuknya dengan notasi properti akses (mis. Dot notation).
JavaScript memungkinkannya dengan membuat temporary wrapper object untuk tipe data primitif. Proses ini dilakukan secara otomatis oleh JavaScript interpreter.
Menentukan Length String
Properti length mengembalikan panjang string, yang merupakan jumlah karakter yang terkandung dalam string. Ini termasuk jumlah karakter khusus juga, seperti \t atau \n.
var str1 = "This is a paragraph of text."; document.write(str1.length); // Prints 28 var str2 = "This is a \n paragraph of text."; document.write(str2.length); // Prints 30, because \n is only one character
Menemukan String di Dalam String Lain
Kalian dapat menggunakan metode indexOf() untuk menemukan substring atau string dalam string lain. Metode ini mengembalikan indeks atau posisi string tertentu yang akan pertama kali muncul dalam sebuah string.
var str = "If the facts don't fit the theory, change the facts."; var pos = str.indexOf("facts"); alert(pos); // 0utputs: 7
Demikian pula, kalian dapat menggunakan metode lastIndexOf() untuk mendapatkan indeks atau posisi kemunculan terakhir string yang telah ditentukan ke dalam sebuah string, seperti ini:
var str = "If the facts don't fit the theory, change the facts."; var pos = str.lastIndexOf("facts"); alert(pos); // 0utputs: 46
Kedua metode indexOf(), dan lastIndexOf() akan kembali menjadi -1 jika substring tidak ditemukan. Kedua metode juga menerima parameter integer opsional yang menentukan posisi dalam string untuk memulai pencarian. Berikut contohnya:
var str = "If the facts don't fit the theory, change the facts."; // Searching forwards var pos1 = str.indexOf("facts", 20); alert(pos1); // 0utputs: 46 // Searching backwards var pos2 = str.lastIndexOf("facts", 20); alert(pos2); // 0utputs: 7
Mencari Pola Di Dalam String
Kalian dapat menggunakan metode search() untuk mencari bagian tertentu dari teks atau pola di dalam sebuah string.
Seperti metode indexOf(), metode search() juga mengembalikan indeks dari kecocokan pertama, dan mengembalikan -1 jika tidak ada kecocokan yang ditemukan, tetapi tidak seperti metode indexOf() metode ini juga dapat menggunakan reguler expression sebagai argumennya untuk menyediakan pencarian lanjutan.
var str = "Color red looks brighter than color blue."; // Case sensitive search var pos1 = str.search("color"); alert(pos1); // 0utputs: 30 // Case insensitive search using regexp var pos2 = str.search(/color/i); alert(pos2); // 0utputs: 0
Mengekstraksi Substring dari String
Kalian dapat menggunakan metode slice() untuk mengekstrak bagian atau substring dari string.
Metode ini mengambil 2 parameter: start index (indeks untuk memulai ekstraksi), dan opsional-nya end index (indeks sebelum yang mengakhiri ekstraksi), seperti str.slice (startIndex, endIndex).
Contoh berikut memotong sebagian string dari posisi 4 ke posisi 15:
var str = "The quick brown fox jumps over the lazy dog."; var subStr = str.slice(4, 15); document.write(subStr); // Prints: quick brown
Kalian juga dapat menentukan nilai negatif. Nilai negatif diperlakukan sebagai strLength + startIndex, di mana strLength adalah panjang string (yaitu str.length), misalnya, jika startIndex adalah -5 itu diperlakukan sebagai strLength – 5. Jika startIndex lebih besar atau sama dengan panjang string, metode slice() mengembalikan string kosong. Juga, jika endIndex opsional tidak ditentukan atau dihilangkan, metode slice() mengekstrak ke akhir string.
var str = "The quick brown fox jumps over the lazy dog."; document.write(str.slice(-28, -19)); // Prints: fox jumps document.write(str.slice(31)); // Prints: the lazy dog.
Kalian juga dapat menggunakan metode substring() untuk mengekstrak bagian dari string yang diberikan berdasarkan indeks awal dan akhir, seperti str.substring (startIndex, endIndex). Metode substring() sangat mirip dengan metode slice(), kecuali beberapa berbeda:
- Jika salah satu argumen kurang dari 0 atau NaN, maka akan dianggap sebagai 0.
- Jika salah satu argumen lebih besar dari str.length, itu dianggap seolah-olah str.length.
- Jika startIndex lebih besar dari endIndex, maka substring() akan menukar kedua argumen tersebut; misalnya, str.substring(5, 0) == str.substring(0, 5).
Contoh berikut akan menunjukkan kepada kalian bagaimana metode ini bekerja:
var str = "The quick brown fox jumps over the lazy dog."; document.write(str.substring(4, 15)); // Prints: quick brown document.write(str.substring(9, 0)); // Prints: The quick document.write(str.substring(-28, -19)); // Prints nothing document.write(str.substring(31)); // Prints: the lazy dog.
Mengekstraksi Sejumlah Karakter dari String
JavaScript juga menyediakan metode substr() yang mirip dengan slice() dengan perbedaan yang halus, parameter kedua menentukan jumlah karakter yang akan diekstraksi alih-alih mengakhiri indeks, seperti str.substr(startIndex, length). Jika panjangnya 0 atau angka negatif, string kosong dikembalikan. Contoh berikut menunjukkan cara kerjanya:
var str = "The quick brown fox jumps over the lazy dog."; document.write(str.substr(4, 15)); // Prints: quick brown fox document.write(str.substr(-28, -19)); // Prints nothing document.write(str.substr(-28, 9)); // Prints: fox jumps document.write(str.substr(31)); // Prints: the lazy dog.
Mengganti Konten String
Kalian dapat menggunakan metode replace() untuk mengganti bagian dari string dengan string lain. Metode ini mengambil dua parameter ekspresi reguler untuk mencocokkan atau substring untuk diganti dan string pengganti, seperti str.replace (regexp|substr, newSubstr).
Metode replace() ini mengembalikan string baru, hal itu tidak akan mempengaruhi string asli yang akan tetap. Contoh berikut akan menunjukkan cara kerjanya:
var str = "Color red looks brighter than color blue."; var result = str.replace("color", "paint"); alert(result); // 0utputs: Color red looks brighter than paint blue.
Secara default, metode replace() hanya menggantikan string yang pertama, dan case-sensitive. Untuk mengganti substring dalam string dengan case-insensitive kalian dapat menggunakan reguler expression (regexp) dengan pengubah i, seperti yang ditunjukkan pada contoh di bawah ini:
var str = "Color red looks brighter than color blue."; var result = str.replace(/color/i, "paint"); alert(result); // 0utputs: paint red looks brighter than color blue.
Demikian pula, untuk mengganti semua kemunculan substring dalam string dengan case-insensitive kalian dapat menggunakan modifier g bersama dengan modifier i, seperti ini:
var str = "Color red looks brighter than color blue."; var result = str.replace(/color/ig, "paint"); alert(result); // 0utputs: paint red looks brighter than paint blue.
Mengubah String menjadi Huruf Besar atau Huruf Kecil
Kalian dapat menggunakan metode toUpperCase() untuk mengubah string menjadi huruf besar, seperti ini:
var str = "Hello World!"; var result = str.toUpperCase(); document.write(result); // Prints: HELLO WORLD!
Demikian pula, kalian dapat menggunakan toLowerCase() untuk mengubah string menjadi huruf kecil, seperti ini:
var str = "Hello World!"; var result = str.toLowerCase(); document.write(result); // Prints: hello world!