JavaScript jämförelse

Jämförelse- och logiska operatorer används för att testa true Eller false

Jämförelseoperatorer

Jämförelseoperatorer används i logiska uttryck för att avgöra om variabler eller värden är lika.

Vi ger x = 5, följande tabell förklarar jämförelseoperatorerna:

Operator Beskrivning Jämföra Returnera Test
== Lika med x == 8 false Prova själv
x == 5 true Prova själv
x == "5" true Prova själv
=== Värden är lika och typerna är lika x === 5 true Prova själv
x === "5" false Prova själv
!= Olika x != 8 true Prova själv
!== Värden är olika eller typerna är olika x !== 5 false Prova själv
x !== "5" true Prova själv
x !== 8 true Prova själv
> > Större än false Prova själv
< Mindre än x < 8 true Prova själv
>= Större än eller lika med x >= 8 false Prova själv
<= Mindre än eller lika med x <= 8 true Prova själv

Hur man använder

Jämförelseoperatorer kan användas i villkorssatser för att jämföra värden och vidta åtgärder baserat på resultatet:

if (age < 18) text = "för ung";

I de följande kapitlen i denna kurs kommer du att lära dig mer om villkorssatser.

Logiska operatorer

Logiska operatorer används för att bedöma logiken mellan variabler eller värden.

Vi ger x = 6 och y = 3, följande tabell förklarar logiska operatorer:

Operator Beskrivning Exempel Test
&& Och (x < 10 && y > 1) är sant Prova själv
|| Eller (x == 5 || y == 5) är falskt Prova själv
! Negation !(x == y) är sant Prova själv

Ternär operator

JavaScript innehåller också en villkorlig operator som kan användas för att tilldela värden till variabler baserat på vissa villkor.

Syntax

variablename = (condition) ? value1:value2

Exempel

var voteable = (age < 18) ? "för ung" : "nog mogen";

Prova själv

Om värdet för variabeln age är mindre än 18, kommer värdet för variabeln voteable att vara "för ung", annars kommer värdet för variabeln voteable att vara "nog mogen".

Jämförelse av olika typer

Jämförelse av data av olika typer kan leda till oväntade resultat.

Om en sträng jämförs med ett nummer, konverterar JavaScript strängen till ett nummer vid jämförelse. En tom sträng konverteras till 0. En icke-numerisk sträng konverteras alltid till false s NaN

Fall Värde Test
2 < 12 true Prova själv
2 < "12" true Prova själv
2 < "Bill" false Prova själv
2 > "Bill" false Prova själv
2 == "Bill" false Prova själv
"2" < "12" false Prova själv
"2" > "12" true Prova själv
"2" == "12" false Prova själv

När två strängar jämförs, är "2" större än "12", eftersom (enligt bokstavsordning) 1 är mindre än 2.

För att säkerställa korrekt resultat bör variabeln konverteras till lämplig typ innan jämförelse sker:

age = Number(age);
if (isNaN(age)) {
    voteable = "Felaktig inmatning";
}
    voteable = (age < 18) ? "För ung" : "Nog mogen";
} 

Prova själv