Perbandingan JavaScript dan Operator Logika
Operator Perbandingan dan Logika digunakan untuk menguji true
atau
false
.
Operator Perbandingan
Operator perbandingan digunakan dalam pernyataan logis untuk menentukan kesetaraan atau perbedaan antara variabel atau nilai.
Mengingat x = 5
, tabel di bawah ini menjelaskan operator perbandingan:
Operator | Description | Comparing | Returns | Try it |
---|---|---|---|---|
== | equal to | x == 8 | false | |
x == 5 | true | |||
x == "5" | true | |||
=== | equal value and equal type | x === 5 | true | |
x === "5" | false | |||
!= | not equal | x != 8 | true | |
!== | not equal value or not equal type | x !== 5 | false | |
x !== "5" | true | |||
x !== 8 | true | |||
> | greater than | x > 8 | false | |
< | less than | x < 8 | true | |
>= | greater than or equal to | x >= 8 | false | |
<= | less than or equal to | x <= 8 | true |
Bagaimana Itu Bisa Digunakan?
Operator perbandingan dapat digunakan dalam pernyataan bersyarat untuk membandingkan nilai dan mengambil tindakan tergantung pada hasilnya:
if (age < 18) text = "Too young to buy alcohol";
Anda akan mempelajari lebih lanjut tentang penggunaan pernyataan bersyarat di bab berikutnya dari tutorial ini.
Operator Logika
Operator logika digunakan untuk menentukan logika antar variabel atau nilai.
Mengingat x = 6
dan y = 3
, tabel di bawah ini menjelaskan operator logika:
Operator | Description | Example | Try it |
---|---|---|---|
&& | and | (x < 10 && y > 1) is true | |
|| | or | (x == 5 || y == 5) is false | |
! | not | !(x == y) is true |
Operator Bersyarat (Terner)
JavaScript juga berisi operator kondisional yang memberikan nilai ke variabel berdasarkan beberapa kondisi.
Sintaksis
variablename = (condition) ? value1:value2
Contoh
let voteable = (age < 18) ? "Too young":"Old enough";
Jika variabel usia bernilai di bawah 18, nilai variabel yang dapat dipilih adalah "Terlalu muda", jika tidak, nilai yang dapat dipilih adalah "Cukup Tua".
Membandingkan Berbagai Jenis
Membandingkan data dari jenis yang berbeda dapat memberikan hasil yang tidak terduga.
Saat membandingkan string dengan angka, JavaScript akan mengonversi string menjadi angka saat melakukan perbandingan. String kosong dikonversi ke 0. String non-numerik dikonversi ke NaN
yang selalu false
.
Case | Value | Try |
---|---|---|
2 < 12 | true | |
2 < "12" | true | |
2 < "John" | false | |
2 > "John" | false | |
2 == "John" | false | |
"2" < "12" | false | |
"2" > "12" | true | |
"2" == "12" | false |
Saat membandingkan dua string, "2" akan lebih besar dari "12", karena (berdasarkan abjad) 1 kurang dari 2.
Untuk mengamankan hasil yang tepat, variabel harus dikonversi ke tipe yang tepat sebelum perbandingan:
age = Number(age);
if (isNaN(age)) {
voteable = "Input is not a number";
} else {
voteable = (age < 18) ? "Too young" : "Old enough";
}