Czy ktoś może mi wyjaśnić prostymi słowami, czym jest ?:
operator (warunkowy, „trójskładnikowy”) i jak go używać?
javascript
ternary-operator
bez muudu
źródło
źródło
?:
(tak jak go napisałeś, bez instrukcji pomiędzy) - operator Elvisa . Całkiem sprytne.Odpowiedzi:
Jest to jednowierszowy skrót dla instrukcji if-else. To się nazywa operator warunkowy. 1
Oto przykład kodu, który można skrócić za pomocą operatora warunkowego:
Można to skrócić w
?:
podobny sposób:Podobnie jak wszystkie wyrażenia, operator warunkowy może być również używany jako samodzielna instrukcja z efektami ubocznymi, chociaż jest to niezwykłe poza minimalizacją:
Mogą być nawet powiązane:
Bądź jednak ostrożny, bo skończysz z zawiłym kodem:
1 Często nazywany „operator trójargumentowy”, ale w rzeczywistości jest to tylko operator trójargumentowy [operator przyjmując trzy argumenty]. Jednak obecnie jest to jedyny JavaScript.
źródło
ternary
jest typem operatora (tzn. Składa się z 3 części). Nazwa tego konkretnego trójskładnikowego operatora toconditional operator
. Zdarza się, że w JS jest tylko jeden operator trójskładnikowy, więc warunki są niewłaściwie używane.||
operator, ponieważ powoduje zwarcie, jeśli wartość po lewej jest prawdziwa.Chcę dodać trochę do podanych odpowiedzi.
Jeśli napotkasz (lub chcesz użyć) trójkę w sytuacji takiej jak „wyświetl zmienną, jeśli jest ustawiona, w przeciwnym razie ...”, możesz ją skrócić, bez trójki .
Zamiast:
Możesz użyć:
Jest to Javascripts równorzędny z trójskładnikowym operatorem PHP
?:
Lub nawet:
Ocenia zmienną, a jeśli jest fałszywa lub nieuzbrojona, przechodzi do następnej.
źródło
'Hello ' + (username ? username : 'guest')
,Hello +
jeśli zostanie zignorowany i zwrócony zostanie wynik operacji potrójnej. Czy ktoś może wyjaśnić, dlaczego?'Hello ' + username
zawszetrue
, ponieważ jest to struna o długości większej niż 0.Nazywa się to operatorem „trójskładnikowym” lub „warunkowym”.
Przykład
Z dokumentacji MSDN JS .
Zasadniczo jest to skrót warunkowy.
Zobacz także:
źródło
Google jest trochę trudny, gdy wszystko, co masz, to symbole;) Używanymi terminami są „operator warunkowy javascript”.
Jeśli zobaczysz więcej śmiesznych symboli w Javascripcie, powinieneś najpierw poszukać operatorów JavaScript: listy operatorów MDC . Jedynym wyjątkiem, na który możesz się natknąć, jest
$
symbol .Aby odpowiedzieć na twoje pytanie, operatory warunkowe zastępują proste instrukcje if. Przykład jest najlepszy:
Zamiast:
źródło
var olderThan20 = age > 20;
tego użyć .jest równa
z wyjątkiem, oczywiście, że jest krótszy.
źródło
Większość odpowiedzi jest poprawna, ale chcę dodać trochę więcej. Operatora trójskładnikowego jest prawostronne, co oznacza, że może być łańcuch , w następujący sposób
if … else-if … else-if … else
:Równoważny:
Więcej szczegółów tutaj
źródło
Nazywa się to operatorem trójskładnikowym
źródło
Operator trójskładnikowy
Zwykle mamy w języku JavaScript instrukcje warunkowe.
Przykład:
ale zawiera dwa lub więcej wierszy i nie można go przypisać do zmiennej. Javascript ma rozwiązanie dla tego Problemowego operatora trójskładnikowego . Operator trójskładnikowy może pisać w jednym wierszu i przypisywać do zmiennej.
Przykład:
Ten trójskładnikowy operator jest podobny w języku programowania C.
źródło
Hej kolego, pamiętaj tylko, że js działa, oceniając na prawdę lub fałsz, prawda?
weźmy trójkowego operatora:
Po pierwsze, js sprawdza, czy pytanie Odpowiedź brzmi
true
czyfalse
.if
true
(?
) dostaniesz „Awesome!”else (
:
) dostaniesz „cholera”;Mam nadzieję, że to pomaga przyjacielowi :)
źródło
To
if statement
wszystko na jednej linii.Więc
Wyrażenie do oceny znajduje się w
( )
Jeśli jest zgodny z prawdą, wykonaj kod po
?
Jeśli pasuje do fałszu, wykonaj kod po
:
źródło
unary
Dwójkowy
Potrójny
źródło
To się nazywa
ternary operator
. Aby uzyskać więcej informacji, oto inne pytanie, na które odpowiedziałem w tej sprawie:Jak napisać instrukcję IF else bez „else”
źródło
conditional operator
. Zdarza się, że w JS jest tylko jeden operator trójskładnikowy, więc warunki są niewłaściwie używane.To prawdopodobnie nie jest najbardziej elegancki sposób na zrobienie tego. Ale dla kogoś, kto nie zna operatorów trójskładnikowych, może się to okazać przydatne. Osobiście wolę robić rezerwy 1-liniowe zamiast bloków warunków.
Operator trójskładnikowy
źródło
Możemy użyć Jquery, a także długości, jak poniżej:
Załóżmy, że mamy pole tekstowe „Gwarant”, które ma wartość i chce uzyskać imię i nazwisko - może być puste. Więc rathar niż
Możemy użyć poniższego kodu z Jquery z minimalnym kodem
źródło
Wyrażenia trójskładnikowe są bardzo przydatne w JS, szczególnie React. Oto uproszczona odpowiedź na wiele dobrych, szczegółowych.
Pomyśl o
expressionIfTrue
OG, jeśli oświadczenie jest prawdziwe;pomyśl o tym,
expressionIfFalse
jak o innym zdaniu.Przykład:
to sprawdzało wartość x, pierwsze y = (wartość) zwracane, jeśli true, drugie zwracane po dwukropku: zwracane y = (wartość), jeśli false.
źródło
Aby uzyskać więcej wyjaśnień, przeczytaj link do dokumentu MDN
źródło
Jeśli masz jedną funkcję sprawdzania wystąpienia warunku w javascript . jest łatwy w obsłudze operator trójskładnikowy . który będzie wymagał tylko jednej linii do wdrożenia. Dawny:
taką funkcję z jednym warunkiem można zapisać w następujący sposób.
stan: schorzenie ? jeśli prawda: jeśli fałsz
źródło
źródło
sunday ?
powinno byćsun = "<span class='label " + ((sunday === 'True' ? 'label-success' : 'label-danger') + "'>S</span>"