JavaScript -Vergleich und logische Operatoren
Vergleichs- und logische Operatoren werden verwendet, um auf true
oder
zu testen false
.
Vergleichsoperatoren
Vergleichsoperatoren werden in logischen Anweisungen verwendet, um die Gleichheit oder den Unterschied zwischen Variablen oder Werten festzustellen.
Angesichts x = 5
dessen erklärt die folgende Tabelle die Vergleichsoperatoren:
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 |
Wie kann es verwendet werden
Vergleichsoperatoren können in bedingten Anweisungen verwendet werden, um Werte zu vergleichen und je nach Ergebnis Maßnahmen zu ergreifen:
if (age < 18) text = "Too young to buy alcohol";
Im nächsten Kapitel dieses Tutorials erfahren Sie mehr über die Verwendung von Bedingungsanweisungen.
Logische Operatoren
Logische Operatoren werden verwendet, um die Logik zwischen Variablen oder Werten zu bestimmen.
Angesichts dessen x = 6
und y = 3
erklärt die folgende Tabelle die logischen Operatoren:
Operator | Description | Example | Try it |
---|---|---|---|
&& | and | (x < 10 && y > 1) is true | |
|| | or | (x == 5 || y == 5) is false | |
! | not | !(x == y) is true |
Bedingter (ternärer) Operator
JavaScript enthält auch einen Bedingungsoperator, der einer Variablen basierend auf einer bestimmten Bedingung einen Wert zuweist.
Syntax
variablename = (condition) ? value1:value2
Beispiel
let voteable = (age < 18) ? "Too young":"Old enough";
Wenn die Variable Alter einen Wert unter 18 hat, ist der Wert der Variable Votable „Too young“, andernfalls ist der Wert von Votable „Alt genug“.
Vergleich verschiedener Typen
Der Vergleich von Daten verschiedener Typen kann zu unerwarteten Ergebnissen führen.
Beim Vergleich einer Zeichenfolge mit einer Zahl konvertiert JavaScript die Zeichenfolge beim Vergleich in eine Zahl. Ein leerer String wird in 0 konvertiert. Ein nicht numerischer String wird in NaN
which is always konvertiert 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 |
Beim Vergleich zweier Strings ist „2“ größer als „12“, weil (alphabetisch) 1 kleiner als 2 ist.
Um ein korrektes Ergebnis sicherzustellen, sollten Variablen vor dem Vergleich in den richtigen Typ konvertiert werden:
age = Number(age);
if (isNaN(age)) {
voteable = "Input is not a number";
} else {
voteable = (age < 18) ? "Too young" : "Old enough";
}