Может кто-нибудь объяснить, пожалуйста, простыми словами, что такое ?:
(условный, «троичный») оператор и как его использовать?
javascript
ternary-operator
muudless
источник
источник
?:
(как вы его написали, без оператора между ними) - оператор Элвиса . Довольно умно.Ответы:
Это сокращение в одну строку для оператора if-else. Это называется условный оператор. 1
Вот пример кода, который можно сократить с помощью условного оператора:
Это может быть сокращено
?:
следующим образом:Как и все выражения, условный оператор также можно использовать как самостоятельный оператор с побочными эффектами, хотя это необычно вне минимизации:
Они могут даже быть прикованы цепью:
Будьте осторожны, иначе у вас получится замысловатый код, подобный этому:
1 Часто называемый «тройной оператор» , но на самом деле это просто троичный оператор [оператор принимающий три операнда]. Это единственный JavaScript, который есть на данный момент.
источник
ternary
это тип оператора (т.е. он состоит из 3 частей). Имя этого конкретного троичного оператора -conditional operator
. Просто случается, что в JS только один троичный оператор, поэтому термины используются неправильно.||
оператора, так как он замыкает накоротко, если значение слева верно.Я хочу добавить некоторые из приведенных ответов.
В случае, если вы встретите (или захотите использовать) троицу в такой ситуации, как «отобразить переменную, если она установлена, иначе ...», вы можете сделать ее еще короче, без троицы .
Вместо:
Ты можешь использовать:
Это эквивалент Javascripts для краткого оператора PHP
?:
Или даже:
Он оценивает переменную, и если она ложная или не установлена, она переходит к следующей.
источник
'Hello ' + (username ? username : 'guest')
,Hello +
если игнорируется и возвращается только результат троичной операции. Кто-нибудь может объяснить, почему?'Hello ' + username
что всегдаtrue
, потому что это строка с длиной больше 0.Это называется «троичный» или «условный» оператор.
пример
Из документации MSDN JS .
По сути это условное заявление.
Также см:
источник
Гуглить немного сложно, когда все, что у вас есть, это символы;) Используемые термины "условный оператор javascript".
Если вы видите более забавные символы в Javascript, вам следует сначала поискать операторы Javascript: список операторов MDC . Единственное исключение, с которым вы можете столкнуться, это
$
символ .Чтобы ответить на ваш вопрос, условные операторы заменяют простые операторы if. Пример лучше всего:
Вместо:
источник
var olderThan20 = age > 20;
вместо этого.эквивалентно
кроме, конечно, это короче.
источник
Большинство ответов верны, но я хочу добавить немного больше. Троичный оператор является правоассоциативным, что означает , что он может быть прикован следующим образом
if … else-if … else-if … else
:Эквивалентно:
Более подробная информация здесь
источник
Это называется троичный оператор
источник
Троичный оператор
Обычно у нас есть условные заявления в Javascript.
Пример:
но он содержит две или более строки и не может быть назначен переменной. У Javascript есть решение этой проблемы. Тернарный оператор . Тернарный оператор может писать в одну строку и назначать переменную.
Пример:
Этот троичный оператор похож на язык программирования Си.
источник
Эй, приятель, просто помни js works, оценивая либо true, либо false, верно?
давайте возьмем троичный оператор:
Во-первых, js проверяет, является ли questionAnspted
true
илиfalse
.if
true
(?
) вы получите "Awesome!"иначе (
:
) вы получите "черт";Надеюсь, это поможет другу :)
источник
Это
if statement
все на одной линии.Так
Выражение для оценки находится в
( )
Если оно соответствует true, выполните код после
?
Если он соответствует ложному, выполните код после
:
источник
унарный
двоичный
троичный
источник
Это называется
ternary operator
. Для получения дополнительной информации, вот еще один вопрос, на который я ответил по этому поводу:Как написать оператор IF else без 'else'
источник
conditional operator
. Просто случается, что в JS только один троичный оператор, поэтому термины используются неправильно.Вероятно, это не самый элегантный способ сделать это. Но для тех, кто не знаком с троичными операторами, это может оказаться полезным. Мое личное предпочтение состоит в том, чтобы сделать запасные варианты с 1 линией вместо блоков условий.
Троичный оператор
источник
Мы можем использовать с Jquery, а также длину, как показано ниже:
Предположим, у нас есть текстовое поле GuarantorName, которое имеет значение и хочет получить имя и фамилию - оно может быть нулевым. Так что, чем
Мы можем использовать приведенный ниже код с Jquery с минимальным кодом
источник
Тернарные выражения очень полезны в JS, особенно в React. Вот упрощенный ответ на многие хорошие, подробные из них.
Думайте о
expressionIfTrue
том, что OG if делает заявление истинным;думать
expressionIfFalse
как о другом утверждении.Пример:
это проверило значение x, первое y = (значение) вернулось, если true, второе возвращение после двоеточия: вернул y = (значение), если false.
источник
Для получения дополнительной информации, пожалуйста, прочитайте ссылку на документ MDN.
источник
Если у вас есть одно условие, проверьте функцию экземпляра в JavaScript . это простой в использовании троичный оператор . для реализации которого потребуется всего одна строка . Пример:
такую функцию с одним условием можно записать следующим образом.
состояние ? если True: если False
источник
источник
sunday ?
.it должно бытьsun = "<span class='label " + ((sunday === 'True' ? 'label-success' : 'label-danger') + "'>S</span>"