Co to jest podwójny znak zapytania równy w JavaScript?

Co to jest podwójny znak zapytania równy w JavaScript?

„„Podwójny znak zapytania”(??) to nowa funkcja w JavaScript, po raz pierwszy wprowadzona w EcMascript 2020. Nazywa się to również „NULL KOalescing Operator". Jest podobny do logicznego lub (||) operator, ale istnieje kluczowe rozróżnienie. Jeśli pierwsza operand jest falistą wartością, na przykład „FAŁSZ”,„0”,„zero”,„Nan”,„pusta struna", Lub "nieokreślony”, Logiczny lub operator zwróci drugi operand, co może spowodować nieoczekiwane zachowanie. Natomiast „podwójny znak zapytania” lub „Null Coalescing Operator” daje drugie operand tylko wtedy, gdy pierwszy operand jest niezdefiniowany lub zerowy.

Ten post zdefiniuje (??) W JavaScript.

Co to jest podwójny znak zapytania równy w JavaScript?

„„Podwójny znak zapytania”(??) jest również znany jako „NULL KOalescing Operator". Jest to logiczny operator używany do sprawdzania „zero" Lub "nieokreślony”Wartości. Wyświetla wartość po lewej stronie „Oświadczenie 1„Jeśli nie jest to„ niezdefiniowane ”lub„ null ”. Jeśli wartość po lewej stronie jest „zerowa” lub „niezdefiniowana”, daje to „Oświadczenie 2”, Która jest wartością po prawej stronie.

Składnia

W przypadku „zerowego operatora koalescingu” lub „podwójnego znaku zapytania” wykorzystywana jest następująca składnia:

Oświadczenie 1 ?? Oświadczenie 2


Przykład

Utwórz zmienne „num”,„str”,„val”,„X”I przypisz do nich pewne wartości. Zmienna „NUM” nie jest inicjowana, „STR” przechowuje pusty ciąg, „Val” przechowuje wartość „null”, a zmienna „x” zawiera „11”:

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


Sprawdź te zmienne za pomocą „podwójnego znaku zapytania” lub „Null Koalescing Operator”:

konsola.log (num ?? 15);
konsola.Log (str ?? „JavaScript”);
konsola.Log (val ?? 512);
konsola.Log (x ?? „5”);


Dane wyjściowe pokazuje, że:

    • W etykiecie „1”, Zmienna„num" Jest "nieokreślony”, Więc drukuje wartość domyślną lub wartość po prawej stronie, która wynosi„15".
    • W etykiecie „2”, Zmienna„str”Nie jest„nieokreślony" Lub "zero”, Więc wartość po lewej stronie drukuje, że jest to pusty ciąg.
    • Etykieta "3”Pokazuje wartość domyślną lub po prawej stronie, ponieważ zmienna„val”Przechowuje„zero".
    • Etykieta "4”Wyświetla wartość po lewej stronie”11„To jest przechowywane w zmiennej”X”:


W rzeczywistych przypadkach użycia dane zostaną odzyskane w postaci JSON. Tak więc w tym przykładzie zastosujemy „podwójny znak zapytania” lub „Null Coalescing Operator” na danych JSON.

Utwórz obiekt JSON o nazwie „informacje„To zawiera właściwości”nazwa", wiek”I„ „Przeznaczenie”:

var info =
Imię: „John”,
Wiek: 32,
Oznaczenie: „HR”
;


Sprawdź atrybut „Nazwa” obiektu „Info” z „podwójnym znakiem zapytania” lub „Null Koalescing Operator”. Da to lewą wartość boczną, która jest „Jan”:

var nazwa = informacje.nazwa ?? "Jacek";


Podczas sprawdzania atrybutu „e-mail” wydrukuje wartość po prawej stronie, ponieważ „e-mail”Jest niezdefiniowany dla„informacje" obiekt:

var e -mail = informacje.e-mail ?? „[email protected] ";


Wydrukuj wynik na konsoli:

konsola.log (nazwa);
konsola.log (e -mail);


Wyjście


To wszystko o „podwójnym znaku zapytania” w JavaScript.

Wniosek

„„Podwójny znak zapytania”(??) jest również nazywany „zerowym operatorem koalescingu”. Jest to logiczny operator używany do sprawdzania wartości „zerowych” lub „niezdefiniowanych”. Jest podobny do operatora lub. Ten post zdefiniował ?? Znak w JavaScript.