JavaScript : String JavaScript

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!