Was ist ein doppeltes Fragezeichen, das in JavaScript gleich ist?

Was ist ein doppeltes Fragezeichen, das in JavaScript gleich ist?

Der "Doppelter Fragezeichen”(??) ist eine neue Funktion in JavaScript, die erstmals in ECMascript 2020 eingeführt wurde. Es wird auch das "das" genannt "Null -Koalescing -Operator”. Es ähnelt der logischen oder (||) Operator, aber es gibt eine wichtige Unterscheidung. Wenn der erste Operand ein falsy -Wert ist, wie z. "FALSCH","0","Null","Nan","leerer String", oder "nicht definiert”, Der logische oder Bediener gibt den zweiten Operanden zurück, was zu unerwartetem Verhalten führen kann. Im Gegensatz dazu enthält das „Doppelfragemarke“ oder der „Null -Koalescing -Operator“ nur den zweiten Operanden, wenn der erste Operand undefiniert oder Null ist.

Dieser Beitrag definiert die (??) In JavaScript.

Was ist ein doppeltes Fragezeichen, das in JavaScript gleich ist?

Der "Doppelter Fragezeichen”(??) ist auch als das bekannt "Null -Koalescing -Operator”. Es ist ein logischer Operator, der zur Überprüfung der “verwendet wirdNull" oder "nicht definiert" Werte. Es gibt den linken Seitenwert aus “Erklärung1"Wenn es nicht" undefiniert "oder" null "ist. Wenn der Wert links "null" oder "undefiniert" ist, gibt er das "Erklärung2Das ist der rechte Seitenwert.

Syntax

Für den „Null -Koalescing -Operator“ oder das „Doppel -Frage -Zeichen“ wird die folgende Syntax verwendet:

Erklärung1 ?? Erklärung2


Beispiel

Variablen erstellen “num","str","val","X”, Und weisen Sie ihnen einige Werte zu. Die variable "Num" wird nicht initialisiert, "str" ​​speichert eine leere Zeichenfolge, "Val" speichert einen "Null" -Swert, und die Variable "x" enthält "11":

var num;
var str = "";
var val = null;
var x = "11";


Überprüfen Sie diese Variablen mit dem „Doppelfragebodus“ oder dem „Null -Koalescing -Operator“:

Konsole.log (num ?? 15);
Konsole.log (str ?? "JavaScript");
Konsole.log (val ?? 512);
Konsole.log (x ?? "5");


Die Ausgabe zeigt das:

    • Im Etikett "1", Die Variable "num" Ist "nicht definiert", Also druckt es den Standardwert oder den rechten Seitenwert, der" ist "15”.
    • Im Etikett "2", Die Variable "str"Ist nicht"nicht definiert" oder "Null”, Also druckt der linke Wert, dass es sich um eine leere Zeichenfolge handelt.
    • Das Etikett "3”Zeigt einen Standard oder den rechten Seitenwert an, weil die Variable"val"Speichert a"Null”.
    • Das Etikett "4"Zeigt den linken Seitenwert an“11"Das wird in der Variablen gespeichert"X”:


In realen Anwendungsfällen werden die Daten in Form von JSON abgerufen. In diesem Beispiel werden wir also das „Doppelfragebarium“ oder den „Null -Koalescing -Operator“ auf JSON -Daten anwenden.

Erstellen Sie ein JSON -Objekt namens “die Info"Das enthält Eigenschaften"Name”, Alter", und das "Bezeichnung”:

var info =
Name: "John",
Alter: 32,
Bezeichnung: "HR"
;


Überprüfen Sie das Attribut "Name" des Objekts "Info" mit einem "doppelten Fragezeichen" oder dem "Null -Koalescing -Operator". Es gibt den linken Seitenwert, der ist “John”:

var name = info.Name ?? "Jack";


Wenn Sie das Attribut "E-Mail" überprüfen, druckt es den rechten Wertwert, weil das “Email"Ist undefiniert für die"die Info" Objekt:

var E -Mail = Info.Email ?? "[email protected] ";


Drucken Sie das Ergebnis auf der Konsole:

Konsole.log (name);
Konsole.Protokoll (E -Mail);


Ausgang


Hier geht es um das "Doppelfrage" in JavaScript.

Abschluss

Der "Doppelter Fragezeichen”(??) wird auch als „Null -Koalescing -Operator“ bezeichnet. Es ist ein logischer Operator, der zur Überprüfung der "Null "- oder" undefinierten "Werte verwendet wird. Es ähnelt dem oder dem Operator. Dieser Beitrag definierte die ?? Mark in JavaScript.