Kita tahu beberapa operator pembanding dari matematika.
Didalam Javascript operator-operator itu ditulis seperi ini:
- Lebih besar/kurang dari:
a > b,a < b. - Lebih besar/kurang dari atau sama:
a >= b,a <= b. - Sama dengan:
a == b, perhatikan tanda dua=digunakan untuk test persamaan, jika menggunakan satu=sepertia = bitu adalah sebuah asignment atau memasukan nilai kedalam variabel. - Tidak sama dengan: Didalam matematika notasinya seperti
≠, tetapi didalam Javascript ditulis sepertia != b.
Didalam artikel ini kita akan belajar lebih lanjut tentang perbedaan tipe dari perbandingan, bagaimana cara Javascript membuatnya, termasuk sifat-sifat penting.
Diakhir nanti kamu akan menemukan hal yang bagus untuk menghindari masalah yang berhubungan dengan “kebiasaan Javascript”.
Boolean ialah hasilnya
Semua operator pembanding mengembalikan nilai boolean:
true– berarti “ya”, “betul” atau “fakta”.false– berarti “tidak”, “salah” atau “bukan fakta”.
Misalnya:
alert( 2 > 1 ); // true (benar)
alert( 2 == 1 ); // false (salah)
alert( 2 != 1 ); // true (benar)
Hasil perbandingan bisa ditetapkan ke variabel, sama seperti nilainya:
let result = 5 > 4; // tetapkan hasil perbandingan
alert( result ); // true
Perbandingan string
Untuk melihat apakah satu string lebih besar dari yang lain, JavaScript menggunakan yang disebut “kamus” atau urutan “lexicografik”.
Dengan keta lain, string diperbandingkan huruf-demi-huruf.
Misalnya:
alert( 'Z' > 'A' ); // true
alert( 'Glow' > 'Glee' ); // true
alert( 'Bee' > 'Be' ); // true
algoritma untuk membandingkan dua string sederhana:
- Bandingkan karakter pertama dari kedua string.
- Jika karakter pertama dari string pertama lebih besar (atau lebih kecil) dari string kedua, maka string pertama lebih besar (atau lebih kecil) dari string kedua. Kita selesai.
- Sebaliknya, jika karakter pertama kedua string sama, bandingkan karakter kedua dengan cara sama.
- Ulangi sampai string berakhir.
- Jika kedua string berakhir pada panjang yang sama, maka mereka sama. Sebaliknya, string lebih panjang yang lebih besar.
Pada contoh di atas, pembandingan 'Z' > 'A' menghasilkan pada langkah pertama sedangkan string "Glow" dan "Glee" dibandingkan karakter-demi-karakter:
Gsama denganG.lsama denganl.olebih besar darie. Berhenti di sini. String pertama lebih besar.
Algoritma pembangingan yang diberikan di atas secara kasar equivalen dengan yang digunakan dalam kamus atau buku telpon, tapi tak sepenuhnya sama.
Misalnya, case diperhitungkan. Huruf besar "A" tak sama dengan huruf kecil "a". Yang mana yang lebih besar? Huruf kecil "a". Kenapa? Karena karakter huruf kecil punya index lebih besar dalam tabel encoding internal yang dipakai JavaScript (Unicode). Kita akan kembali ke detil spesifik dan konsekuensinya dalam bab String.
Pembandingan dari tipe yang berbeda
Ketika membandingkan nilai dari tipe yang berbeda, JavaScript mengkonversi nilai tersebut ke angka.
Misalnya:
alert( '2' > 1 ); // true, string '2' menjadi angka 2
alert( '01' == 1 ); // true, string '01' menjadi angka 1
Untuk nilai boolean, true menjadi 1 dan false menjadi 0.
Misalnya:
alert( true == 1 ); // true
alert( false == 0 ); // true
Memungkinkan juga bahwa pada saat yang sama:
- Dua nilai equal.
- Satu dari mereka
truesebagai boolean dan satunya lagifalsesebagai boolean.
Misalnya: