JavaScript sammenligning

Sammenlignings- og logiske operatorer bruges til at teste true eller false

Sammenligningsoperatorer

Sammenligningsoperatorer bruges i logiske udsagn til at afgøre, om variabler eller værdier er ens.

Vi giver x = 5, og tabellen nedenfor forklarer sammenligningsoperatorerne:

Operator Beskrivelse Sammenligning Returnerer Test
== Lig med x == 8 false Prøv det selv
x == 5 true Prøv det selv
x == "5" true Prøv det selv
=== Værdierne er ens og typerne er ens x === 5 true Prøv det selv
x === "5" false Prøv det selv
!= Ulige x != 8 true Prøv det selv
!== Værdierne er forskellige eller typerne er forskellige x !== 5 false Prøv det selv
x !== "5" true Prøv det selv
x !== 8 true Prøv det selv
> > Større end false Prøv det selv
< Mindre end x < 8 true Prøv det selv
>= Større end eller lig med x >= 8 false Prøv det selv
<= Mindre end eller lig med x <= 8 true Prøv det selv

Hvordan man bruger

Sammenligningsoperatorer kan bruges i betingelsesudtryk til at sammenligne værdier og træffe handlinger baseret på resultatet:

if (age < 18) text = "for ung";

I de næste kapitler af denne vejledning vil du lære mere om betingelsesudtryk.

Logiske operatorer

Logiske operatorer bruges til at afgøre logiske forhold mellem variabler eller værdier.

Vi giver x = 6 og y = 3, og tabellen nedenfor forklarer logiske operatorer:

Operator Beskrivelse Eksempel Test
&& og (x < 10 && y > 1) er sand Prøv det selv
|| eller (x == 5 || y == 5) er falsk Prøv det selv
! Negation !(x == y) er sand Prøv det selv

Betingelsesoperator (tredjestrengsoperator)

JavaScript inkluderer også betingelsesoperatorer, der kan bruges til at tildele værdier til variabler baseret på visse betingelser.

Syntaks

variabelnavn = (betingelse) ? value1:value2

Eksempel

var voteable = (age < 18) ? "for ung" : "tilstrækkeligt moden";

Prøv det selv

Hvis variabelen age's værdi er mindre end 18, vil variabelens værdi være "for ung"; ellers vil værdien være "tilstrækkeligt moden".

Sammenligning af forskellige typer

Sammenligning af data af forskellige typer kan føre til uventede resultater.

Hvis en streng sammenlignes med et tal, konverterer JavaScript strengen til et tal ved sammenligning. En tom streng konverteres til 0. En ikke-numerisk streng konverteres til altid false s NaN

Case Værdi Test
2 < 12 true Prøv det selv
2 < "12" true Prøv det selv
2 < "Bill" false Prøv det selv
2 > "Bill" false Prøv det selv
2 == "Bill" false Prøv det selv
"2" < "12" false Prøv det selv
"2" > "12" true Prøv det selv
"2" == "12" false Prøv det selv

Når to strenge sammenlignes, er "2" større end "12", fordi (efter alfabetisk sortering) 1 er mindre end 2.

For at sikre korrekte resultater skal variablen konverteres til en passende type før sammenligning:

age = Number(age);
if (isNaN(age)) {
    voteable = "Indtastningsfejl";
}
    voteable = (age < 18) ? "For ung" : "Nogenlunde moden";
} 

Prøv det selv