Operator znaku zapytania JavaScript

Operator znaku zapytania JavaScript
Zwykle w każdym języku programowania reprezentujemy warunkowe stwierdzenia z tradycyjnym „jeśli… else…”, ale czasami wymagają różnych linii kodów nawet w prostszych warunkach. Stąd JavaScript zapewnia nam Znak zapytania(?) Operator używany do instrukcji warunkowych w JavaScript.

Znak zapytania (?) Operator w JavaScript jest jedną z najpotężniejszych funkcji, które JavaScript zapewnia instrukcje warunkowe i przy użyciu „:” może działać jako „Jeśli inaczej… ". Ale to nie jedyny sposób, w jaki ten operator jest używany w JavaScript. W tym artykule omówimy operatora znaku zapytania w JavaScript wraz z jego wykorzystaniem z przykładami.

Sposoby użycia znaku zapytania (?) Operator w JavaScript

Najczęstszym sposobem korzystania z operatora znaku zapytania są instrukcje warunkowe, ale nie jest to jedyne wykorzystanie tego w JavaScript. Istnieją trzy główne zastosowania operatorów znaku zapytania w JavaScript, jak pokazano poniżej:

  1. Operator trójskładnikowy
  2. Opcjonalne łączenie
  3. Nullish Koalescing

Jeden z nich wszyscy znamy, ale pozostałe dwa to tylko nieliczni, więc zobaczmy i zrozummy każdy z przykładami.

Operator trójskładnikowy

Termin trójskładnikowy oznacza po prostu składający się z trzech części, a operator znaku zapytania jest również znany jako operator trójskładnikowy, ponieważ w przeciwieństwie do innych operatorów, takich jak „===”, jest to jedyny operator, który przyjmuje trzy części trzech części.

W operatoru trójskładnikowym zaczynamy od „?”, W którym dodajemy warunkowe instrukcję po lewej stronie operatora i wartość po prawej stronie operatora na wypadek, gdyby stan był PRAWDA. Następnie następuje okrężnica „:„Po następstwie wartości, która ma zostać zwrócona na wypadek, gdyby warunek jest FAŁSZ. Poniżej znajduje się składnia:

Składnia:

Instrukcja warunkowa ? True (wartość, jeśli prawda): false (wartość if false)

Operator trójskładnikowy służy do zastąpienia wielu linii kodu instrukcji if else instrukcja. Poniżej znajduje się przykład instrukcji, wraz z zastąpieniem go operatora trójskładnikowego, aby pokazać, w jaki sposób warunkowe stwierdzenie, w którym można łatwo zmienić na kod pojedynczego linii.

if (20> 12)
konsola.Log („Tak”)

w przeciwnym razie
konsola.Log („nie”)

Powyższy wiersz kodu można przekonwertować na jeden kod linii:

const biggernum = (20> 12) ? "Tak nie";
konsola.log (biggernum);

Możesz wyraźnie zobaczyć różnicę między kilkoma wierszami warunku IF-ELSE jest przekształcana w pojedynczy kod linii za pomocą operatora trójskładnikowego.

Opcjonalne łączenie

W 2020 r. Wprowadzono opcjonalną funkcję łączenia, która pomaga użytkownikowi w bardziej wydajnym sposób obsługiwania błędu. Załóżmy, że masz kod, który wywołuje zastrzeżenie obiektu, który nie istnieje, a zatem po wykonaniu kodu wygeneruje błąd, który może wynikać z brakującej wartości w bazie danych lub w jakimkolwiek innym przypadku. Na przykład spójrz na poniższy przykład:

const pracownika =
Nazwa: „Mark”,
Worsze: 2015

pracownik.pisać.wynagrodzenie();

Tutaj nie zdefiniowaliśmy właściwości dla obiektu, a zatem po wykonaniu kodu wygeneruje poniższy błąd:

Teraz, aby uniknąć takich błędów, wprowadzono opcjonalne łączenie, przez które po prostu wstawiamy operatora znaku zapytania „?”Pomiędzy nazwami właściwości, jak pokazano poniżej:

const pracownika =
Nazwa: „Mark”,
Worsze: 2015

pracownik.pisać?.wynagrodzenie();

Wyjście:

Poprzez opcjonalne łączenie po prostu dało wyjście „nieokreślony”Zamiast rzucać jakiekolwiek błędy, a zatem jest to jedna z najlepszych funkcji dla programistów, aby unikać takich błędów.

Nullish Koalescing

Czasami nie mamy wartości dla właściwości lub nie jest ona dostępna podczas pisania kodu. Na przykład, jeśli definiujemy różnych użytkowników i mamy obraz właściwości dla każdego użytkownika i nie mamy obrazu dostępnego dla tych użytkowników. Tak więc, gdy dane są wyświetlane, obrazy dla użytkowników będą puste, co może wyglądać brzydko i nieprofesjonalnie.

const pracownika =
Nazwa: „Mark”,
Zdjęcie: niezdefiniowane || „Nie dotyczy”

konsola.log (pracownik);

Wyjście:

Ale w radzeniu sobie z „||„Operator logiczny lub, możesz napotkać niektóre problemy, jeśli uważasz niektóre wartości za użyteczne, takie jak„ ”i„ 0 ”. Na przykład zadeklarowaliśmy zmienną o wartości 0 lub pustym ciągu wraz z „||” Logiczny lub operator, więc operator rozważa wartość za zerową lub niezdefiniowaną, a zatem zwróci wartość domyślną, którą naprawiliśmy, jak pokazano w poniższym przykładzie:

const przykład1 = 0 || „domyślny ciąg”;
konsola.log (przykład1);
const przykład2 = "|| 500;
konsola.log (przykład2);

Wyjście:

Tutaj, w powyższym przykładzie, chociaż ustawiamy wartości zarówno jako 0, jak i pustego ciągu nadal przyjmuje to jako zerowe i niezdefiniowane i wyświetlają ustawioną wartość domyślną. Aby rozwiązać ten problem, którego używamy Znaki zerowe lub podwójne pytania (podwójne pytania (??) jak pokazano niżej:

const przykład1 = 0 ?? „domyślny ciąg”;
konsola.log (przykład1);
const przykład2 = " ?? 500;
konsola.log (przykład2);

Wyjście:

W ten sposób stosuje się zerowe węganie, które akceptuje tylko wartości zerowe i niezdefiniowane, poza tym zawsze wyświetla wartości prawej strony.

Wniosek

Operator znaku zapytania w JavaScript jest niezwykle przydatny, ponieważ jest używany nie tylko do instrukcji warunkowych, ale do innych przydatnych celów. W tym artykule omówiliśmy operatorów znaku zapytania w JavaScript wraz z różnymi sposobami korzystania z niego. Najpierw tradycyjnym sposobem jest zastąpienie go warunkami IF-Else, ale istnieją inne sposoby użycia go, które omówiliśmy w artykule. Poprzez operatorzy znaków pytań możemy uczynić nasz kod bardziej kompaktowy i obsługiwać błędy w bardziej wydajny sposób.