“Dobbelt spørsmålstegn”(??) er en ny funksjon i JavaScript, først introdusert i ECMASCRIPT 2020. Det kalles også “NULL KOMPERING OPERATOR”. Det ligner på den logiske eller (||) operatør, men det er et sentralt skille. Hvis den første operanden er en forfalskningsverdi, for eksempel “falsk”,“0”,“null”,“Nan”,“tom streng”, Eller“udefinert”, Vil den logiske eller operatøren returnere den andre operanden, noe som kan føre til uventet oppførsel. I kontrast gir "dobbeltspørsmålsmerket" eller "Null Coalescing Operator" bare den andre operanden hvis den første operanden er udefinert eller null.
Dette innlegget vil definere (??) i JavaScript.
Hva er et dobbelt spørsmålstegn som er like i JavaScript?
“Dobbelt spørsmålstegn”(??) er også kjent som "NULL KOMPERING OPERATOR”. Det er en logisk operatør som brukes til å sjekke "null”Eller“udefinert”Verdier. Den gir venstre sideverdi "uttalelse1”Hvis det ikke er“ udefinert ”eller“ null ”. Hvis venstre sideverdi er "null" eller "udefinert", gir den "Uttalelse2”Som er høyre sideverdi.
Syntaks
For den "nullkoalescing operatøren" eller "dobbeltspørsmålsmerket", brukes følgende syntaks:
uttalelse1 ?? Uttalelse2
Eksempel
Lag variabler “Num”,“str”,“Val”,“x”, Og tilordne noen verdier til dem. Variabel “Num” er ikke initialisert, “Str” lagrer en tom streng, “Val” lagrer en “null” -verdi, og variabelen “X” inneholder “11”:
var num;
var str = "";
var val = null;
var x = "11";
Sjekk disse variablene ved å bruke "dobbeltspørsmålsmerket" eller "Null Coalescing Operator":
konsoll.Logg (Num ?? 15);
konsoll.Logg (str ?? "JavaScript");
konsoll.Logg (Val ?? 512);
konsoll.Logg (x ?? "5");
Utgangen viser at:
I tilfeller i den virkelige verden vil dataene bli hentet i form av JSON. Så i dette eksemplet vil vi bruke "dobbeltspørsmålsmerket" eller "Null Coalescing Operator" på JSON -data.
Opprett et JSON -objekt som heter “info”Som inneholder egenskaper”Navn”, alder", og "Betegnelse”:
var info =
Navn: "John",
Alder: 32,
Betegnelse: "HR"
;
Sjekk “Navn” -attributtet til “Info” -objektet med et “dobbelt spørsmålstegn” eller “Null Coalescing Operator”. Det vil gi den venstre sideverdien som er "John”:
var navn = info.Navn ?? "Jack";
Mens du sjekker attributtet "e-post", vil den skrive ut høyre sideverdi, fordi "e -post”Er udefinert for“info”Objekt:
var e -post = info.e -post ?? "[email protected] ";
Skriv ut resultatet på konsollen:
konsoll.logg (navn);
konsoll.logg (e -post);
Produksjon
Det handler om "dobbeltspørsmålsmerket" i JavaScript.
Konklusjon
“Dobbelt spørsmålstegn”(??) kalles også “Null Coalescing Operator”. Det er en logisk operatør som brukes til å sjekke "null" eller "udefinerte" verdier. Det ligner på OR -operatøren. Dette innlegget definerte ?? Mark i JavaScript.