Porównanie JavaScript

Porównanie i operatory logiki są używane do testowania prawda Lub fałsz

Operatory porównawcze

Operatory porównawcze są używane w wyrażeniach logicznych do określenia, czy zmienne lub wartości są równe.

Podając x = 5, poniższa tabela wyjaśnia operatory porównawcze:

Operator Opis Porównuje Zwraca Test
== Równe x == 8 fałsz Spróbuj sam
x == 5 prawda Spróbuj sam
x == "5" prawda Spróbuj sam
=== Równe wartości i różne typy x === 5 prawda Spróbuj sam
x === "5" fałsz Spróbuj sam
!= Różne x != 8 prawda Spróbuj sam
!== Różne wartości lub różne typy x !== 5 fałsz Spróbuj sam
x !== "5" prawda Spróbuj sam
x !== 8 prawda Spróbuj sam
> > Więcej niż fałsz Spróbuj sam
< Mniej niż x < 8 prawda Spróbuj sam
>= Więcej niż lub równo x >= 8 fałsz Spróbuj sam
<= Mniej niż lub równo x <= 8 prawda Spróbuj sam

Jak używać

Porównawcze operatory można używać w instrukcjach warunkowych do porównania wartości i podjęcia działań na podstawie wyniku:

if (age < 18) text = "zbyt młoda";

W następujących rozdziałach tego kursu nauczysz się więcej o instrukcjach warunkowych.

Operatorzy logiki

Operatorzy logiki są używane do oceny logiki zmiennych lub wartości.

Podając x = 6 i y = 3, poniższa tabela wyjaśnia operatorzy logiki:

Operator Opis Przykład Test
&& I (x < 10 && y > 1) jest prawdą Spróbuj sam
|| Lub (x == 5 || y == 5) jest fałszem Spróbuj sam
! Negacja !(x == y) jest prawdą Spróbuj sam

Operator warunkowy (trójwartościowy)

JavaScript zawiera również operator warunkowy, który pozwala przypisać wartość zmiennej na podstawie pewnych warunków.

Gramatyka

nazwa_zmiennej = (warunek) ? value1:value2

Przykład

var voteable = (age < 18) ? "zbyt młoda":"dostatecznie dojrzała";

Spróbuj sam

Jeśli wartość zmiennej age jest mniejsza niż 18, wartość zmiennej voteable będzie "zbyt młoda", w przeciwnym razie wartość zmiennej voteable będzie "dostatecznie dojrzała".

Porównywanie różnych typów

Porównywanie różnych typów danych może prowadzić do nieprzewidzianych wyników.

Jeśli porównujemy ciąg znaków z liczbą, JavaScript konwertuje ciąg znaków na wartość numeryczną. Pusty ciąg znaków zostanie przekształcony na 0. Ciąg znaków, który nie jest liczbą, zostanie przekształcony na wartość zawsze równą fałsz i NaN

Przypadek Wartość Test
2 < 12 prawda Spróbuj sam
2 < "12" prawda Spróbuj sam
2 < "Bill" fałsz Spróbuj sam
2 > "Bill" fałsz Spróbuj sam
2 == "Bill" fałsz Spróbuj sam
"2" < "12" fałsz Spróbuj sam
"2" > "12" prawda Spróbuj sam
"2" == "12" fałsz Spróbuj sam

Kiedy porównujemy dwa ciągi znaków, "2" jest większe niż "12", ponieważ (wg porządku alfabetycznego) 1 jest mniejsze niż 2.

Aby zapewnić poprawne wyniki, wartość zmiennej powinna być przekształcona na odpowiedni typ przed porównaniem:

age = Number(age);
if (isNaN(age)) {
    voteable = "Błąd wejścia";
}
    voteable = (age < 18) ? "za młody" : "dostatecznie dorosły";
} 

Spróbuj sam