-
Notifications
You must be signed in to change notification settings - Fork 62
/
Copy path02_04_basic_javascript_string.js
64 lines (49 loc) · 1.85 KB
/
02_04_basic_javascript_string.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
/**
* string adalah type data primitif di Javascript (lihat file 05_tipe_data_primitive.js)
*
* tapi string juga spesial, ia punya akses ke berbagai method dari buil-int object String()
* seperti toUpperCase, toLowerCase dll
*/
let str = 'myString'.toUpperCase();
console.log(str); // MYSTRING
// cek panjang string
let nama = "Budi";
console.log(nama.length); // 4 karakter
// padahal kan primitif, kok bisa punya akses ke non-primitif Object String() ?
// contoh
let test = "My String";
// saat kita define seperti itu, javascript dibelakang membuatkan spesial object/copy dari
// variable test yang sudah dibekali/inherit dari built-in object String()
// makanya ia akan punya akses ke method-method yang terdapat dalam String()
// seperti seperti toUpperCase, toLowerCase dll
// String juga iterable. karena iterable, kita bisa pecahin tuh jadi satu-satu karakter
let car = 'Honda';
car[0]; // H
car[1]; // o
// ..dst
// bisa juga kita akses dengan loop for-of
for (let char of car) {
console.log(char); // H, o, n, d, a
}
// tapi meskipun iterable, string itu immutable alias tidak bisa di ubah
// per karakter
let motor = "Yamaha";
motor[0] = 'K'; // niatnya Y mau kita ganti dengan K
console.log(motor); // tetep Yamaha, bukan Kamaha
// Searching didalam string. pakai str.indexOf()
let v = "Kucing";
v.indexOf('u'); // 1
v.indexOf('K'); // 0
v.indexOf('k'); // -1 , case-sensitif, makanya tidak ada. -1 artinya tidak ditemukan
// check apakah staru karakter ada di string
if (v.indexOf('g') > -1) {
// ada
} else {
// tidak ada
}
let cek = "Nama saya agus";
cek.indexOf('Nama'); // 0
cek.indexOf('agus'); // 10...kata agus ketemu di 10 karakter dari depan
// function indexOf() memulai pencarian dari depan string
// kalau mau mulai dari belakang pakai lastIndexOf()
// masih banyak operasi-operasi yang melibatkan String. silahkan baca-baca ditempat lain