Co jest ? W JavaScript | Wyjaśnione

Co jest ? W JavaScript | Wyjaśnione

Na końcu jakiegokolwiek oświadczenia lub wyrażenia, znak zapytania (?) służy do wskazania bezpośredniego pytania. Jednak kiedykolwiek spotkałeś się z znakiem zapytania o sytuację w kodzie JavaScript i zastanawiałeś się, co to znaczy? Znak zapytania może wykonywać różne funkcje w oparciu o jego użycie. Możesz go używać, gdzie jest to wymagane, gdy wiesz, co to jest.

Ten post pokaże znak zapytania „?„W JavaScript.

Co jest "?„W JavaScript?

Znak zapytania „?”W JavaScript może mieć trzy różne znaczenia. Jest używany w JavaScript jako:

    • Operator trójskładnikowy
    • NULL KOalescing Operator
    • Opcjonalny operator łączenia

"?”Jako operator trójskładnikowy w JavaScript

W każdym języku programowania instrukcje warunkowe są zazwyczaj reprezentowane przez „Jeśli inaczej" sprawozdania. Jednak nawet w przypadku najprostszych warunków stwierdzenia te wymagają wielu wierszy kodu. W takim scenariuszu użyj znaku zapytania (?) W instrukcjach warunkowych JavaScript jako „Operator trójskładnikowy".

Słowo "potrójny„Oznacza związek między trzema elementami, warunkami, blokiem prawdy i fałszywym blokiem. Warunek i blok prawdy są oddzielone znakiem zapytania (?), a okrężnica (:) oddziela prawdę i fałszywy blok. Ten operator zwraca wartość logiczną w zależności od oceny warunku.

Jak używać "?”Jako trójskładnik?

„„?”Może być używany jako operator trójskładnikowy w następujący sposób:

stan ? prawda fałsz


Tutaj, "stan”Jest wyrażeniem, które należy ocenić i wytwarza wartość logiczną, w której”PRAWDA”To wartość, która zostanie zastosowana, jeśli warunek jest prawdziwy, i„FAŁSZ”To wartość, która zostanie użyta, jeśli warunek jest fałszywy.

Przykład

Najpierw utworzymy zmienną „znaki”I przypisz wartość„78”:

var Marks = 78;


Następnie sprawdź, czy znaki są większe niż 60, czy nie za pomocą operatora trójskładnikowego. Jeśli tak, to wydrukuj „Przechodzić”; w przeciwnym razie, "Ponieść porażkę”:

var wynik = (Marks> 60) ? „Pass”: „Fail”;


Na koniec wydrukuj wynik na konsoli za pomocą „konsola.dziennik()" metoda:

konsola.log (wynik);


Odpowiednie wyjście to:


Omówmy inne użycie znaku zapytania (?) W JavaScript.

"?”Jako zerowy operator koalescyk w JavaScript

Or lub || Operator jest przydatny. Mimo to, w niektórych przypadkach, programiści chcą, aby pierwsza operand była oceniana tylko wtedy, gdy jest zerowa lub niezdefiniowana. W rezultacie do ES11 dodano operator zerowy. Jest oznaczony podwójnym znakiem zapytania (??) i należy do tej samej klasy operatorów logicznych, co logiczne lub i operatory.

Ten operator podaje operand po prawej stronie jako wyjście, jeśli operand po lewej stronie jest „zero" Lub "nieokreślony". Null Koalescing Operator znacznie ułatwia testy warunkowe i kod debugowania.

Jak używać "?„Jako zerowy operator koalescyk?

Użyć znaku zapytania (?) Jako zerowy operator koalescing, postępuj zgodnie z podaną składką:

Oświadczenie 1 ?? Oświadczenie 2


Tutaj, "Oświadczenie 1" I "Oświadczenie 2„Są dwa warunki, które zostaną sprawdzone w taki sposób, że jeśli instrukcja 1 jest zerowa lub niezdefiniowana, jedynym możliwym rezultatem jest oświadczenie 2, podczas gdy nie jest to zerowe lub niezdefiniowane, wynikiem będzie instrukcja 1.

Przykład

Najpierw utworzymy zmienną „num”I przypisał wartość„14„Do tego:

var num = 14;


Następnie użyj zerowego operatora koalescingu z wyrażeniami ”nieokreślony" I "num”:

var check = niezdefiniowany ?? num;


Na koniec wydrukuj wynik na konsoli:

konsola.log (sprawdź);


Wyjście podaje wartość operandu po prawej stronie jako „nieokreślony”Jest obecny po lewej stronie zerowego operatora koalescingowego:


Podobnie, gdy słowo kluczowe ”zero”Jest dodawany w miejscu„nieokreślony„Daje ten sam wynik, ale jeśli inne reprezentacje wartości zerowej, takie jak pusty ciąg ”„ Lub "0”Po lewej stronie, zerowy operator Koalescing nie uzna go za zerowy i daje wartość operandu po lewej stronie.

Tutaj użyjemy „0”I zerowy operator koalescing ze zmienną”num”:

var Check = 0 ?? num;


Wyjście daje „0”, Wartość lewostronna:


Znak zapytania w JavaScript jest również używany w jeszcze jednym celu, zobaczmy!

"?”Jako opcjonalny operator łączenia w JavaScript

„„Opcjonalny operator łączenia”Jest używany jako znak zapytania (?) z kropką (.) i jest oznaczony jako (?.). Ten operator może być używany do uzyskania dostępu do właściwości obiektu lub wywołania funkcji. Zamiast rzucać błąd, obiekt zwraca niezdefiniowany, jeśli jest niezdefiniowany lub zerowy. Korzystanie z tego operatora to bezpieczna i wydajna kontrola dostępu dla zagnieżdżonych atrybutów obiektu.

Jak używać "?”Jako opcjonalny operator łączenia?

Dla operatora łączenia możesz użyć podanej składni:

Obiekt.val?.rekwizyt


Tutaj opcjonalny operator łączenia „?”Służy do uzyskania dostępu do wartości określonej właściwości obiektu.

Przykład 1: Dostęp do nieistniejących właściwości pustego obiektu

Najpierw utworzymy pusty obiekt o nazwie „użytkownik 1”:

var user1 = ;


Następnie dostęp do jego nieistniejących właściwości z kropką (.) Operator, spowoduje błąd:

konsola.Log (User1.informacje.nazwa);


Wyjście


Podczas gdy, gdy dodaje się opcjonalny operator łączenia w celu uzyskania dostępu do jego niezdefiniowanych właściwości, nie rzuci błędu:

konsola.Log (User1.informacje?.nazwa);


Wyjście daje niezdefiniowany, a nie błąd:


Zobaczmy jeszcze jeden przykład związany z tą funkcjonalnością.

Przykład 2: Dostęp do nieistniejących właściwości obiektu niezwiązanego

Tutaj zdefiniujemy właściwości obiektu, a następnie spróbujemy uzyskać dostęp do atrybutu zagnieżdżonego obiektu, który istnieje w obiekcie:

var user1 =
Informacje:
Wiek: „20”

;


Użyj opcjonalnego operatora łączenia, aby uzyskać dostęp do atrybutu obiektu zagnieżdżonego:

konsola.Log (User1.informacje?.nazwa);


W rezultacie, "nieokreślony„Będzie wyświetlany na konsoli:


Opracowaliśmy wszystkie zastosowania znaku zapytania „?„W JavaScript.

Wniosek

Znak zapytania (?) W JavaScript ma trzy różne znaczenia, ponieważ można go używać jako „Operator trójskładnikowy”, Oznaczony jako (?), „Zerowe operator ”jako (??), I "Opcjonalny operator łączenia”Reprezentujący jako (?.). Przy użyciu znaku zapytania (?) W kodzie JavaScript sprawia, że ​​kod jest czytelny i łatwy do debugowania podczas obsługi błędów. W tym poście pokazaliśmy, jaki znak zapytania „?”IS i jego zastosowania w JavaScript ze szczegółowymi przykładami.