Como você usa o? : (condicional) operador em JavaScript?

Alguém pode me explicar em palavras simples qual é o operador ?: (Condicional, “ternário”) e como usá-lo?

    Esta é uma abreviação de uma linha para uma instrução if-else. É chamado de operador condicional. 1

    Aqui está um exemplo de código que pode ser encurtado com o operador condicional:

     if(userIsYoungerThan21) { serveGrapeJuice(); } else { serveWine(); } 

    Isso pode ser encurtado com o ?: Assim:

     userIsYoungerThan21 ? serveGrapeJuice() : serveWine(); 

    No operador condicional Javascript pode avaliar a uma expressão, não apenas uma declaração:

     var userType = userIsYoungerThan18 ? "Minor" : "Adult"; serveDrink(userIsYoungerThan21 ? "Grape Juice" : "Wine"); 

    Eles podem até ser encadeados:

     userIsYoungerThan4 ? serveMilk() : userIsYoungerThan21 ? serveGrapeJuice() : serveWine(); 

    Tenha cuidado, porém, ou você vai acabar com um código complicado como este:

     var k = a ? (b ? (c ? d : e) : (d ? e : f)) : f ? (g ? h : i) : j; 

    1 Freqüentemente chamado de “operador ternário”, mas na verdade é apenas um operador ternário [um operador aceitando três operandos]. É o único JavaScript atualmente, no entanto.

    Eu quero adicionar algumas às respostas dadas.

    Caso você encontre (ou queira usar) um ternário em uma situação como ‘mostre uma variável se estiver definida, senão …’, você pode torná-la ainda mais curta, sem ternário .


    Ao invés de:

     var welcomeMessage = 'Hello ' + (username ? username : 'guest'); 

    Você pode usar:

     var welcomeMessage = 'Hello ' + (username || 'guest'); 

    Este é o Javascripts equivalente ao operador ternário de taquigrafia do PHP ?:

    Ou até mesmo:

     var welcomeMessage = 'Hello ' + (username || something || maybethis || 'guest'); 

    Avalia a variável e, se for falsa ou não definida, passa para a seguinte.

    É chamado de operador ‘ternário’ ou ‘condicional’.

    Exemplo

    O operador?: Pode ser usado como um atalho para uma instrução if … else. É normalmente usado como parte de uma expressão maior, em que uma instrução if … else seria inadequada. Por exemplo:

     var now = new Date(); var greeting = "Good" + ((now.getHours() > 17) ? " evening." : " day."); 

    O exemplo cria uma string contendo “Boa noite”. se é depois das 6 da tarde. O código equivalente usando uma instrução if … else seria o seguinte:

     var now = new Date(); var greeting = "Good"; if (now.getHours() > 17) greeting += " evening."; else greeting += " day."; 

    Da documentação do MSDN JS .

    Basicamente, é uma declaração condicional de taquigrafia.

    Veja também:

    • Precedência do operador com o operador Ternary do Javascript
    • Wikipedia

    É um pouco difícil para o google quando tudo que você tem são símbolos;) Os termos para usar são “operador de javascript condicional”.

    Se você vê mais algum símbolo engraçado em Javascript, você deve tentar procurar os operadores do Javascript primeiro: a lista de operadores do MDC . A única exceção que você provavelmente encontrará é o símbolo $ .

    Para responder a sua pergunta, os operadores condicionais substituem as instruções if simples. Um exemplo é o melhor:

     var insurancePremium = age > 21 ? 100 : 200; 

    Ao invés de:

     var insurancePremium; if (age > 21) { insurancePremium = 100; } else { insurancePremium = 200; } 
     z = (x == y ? 1 : 2); 

    é equivalente a

     if (x == y) z = 1; else z = 2; 

    exceto, claro, é mais curto.

    Operador Ternário

    Comumente temos declarações condicionais em Javascript.

    Exemplo:

     if (true) { console.log(1) } else { console.log(0) } # Answer # 1 

    mas contém duas ou mais linhas e não pode atribuir a uma variável. Javascript tem uma solução para este problema Ternary Operator . O Operador Ternário pode escrever em uma linha e atribuir a uma variável.

    Exemplo:

     var operator = true ? 1 : 0 console.log(operator) # Answer # 1 

    Este operador Ternary é semelhante na linguagem de programação C.

    É chamado o operador ternário

     tmp = (foo==1 ? true : false); 

    Ei cara, lembre-se de que as obras de js foram avaliadas como verdadeiras ou falsas, certo?

    vamos pegar um operador ternário:

     questionAnswered ? "Awesome!" : "damn" ; 

    Primeiro, js verifica se a pergunta Respondida é true ou false .

    se for true ( ? ) você vai ter “Awesome!”

    else (:) você terá “maldição”;

    Espero que isso ajude amigo 🙂

    É uma if statement em uma linha.

    assim

     var x=1; (x == 1) ? y="true" : y="false"; alert(y); 

    A expressão a ser avaliada está no ( )

    Se coincidir com true, execute o código após o ?

    Se coincidir com false, execute o código após o :

    É chamado de ternary operator . Para mais informações, aqui está outra pergunta que eu respondi sobre isso:

    Como escrever uma instrução IF else sem ‘else’

     x = 9 y = 8 

    unário

     ++x --x 

    Binário

     z = x + y 

    Ternário

     2>3 ? true : false; 2<3 ? true : false; 2<3 ? "2 is lesser than 3" : "2 is greater than 3"; 

    O operador condicional (ternário) é o único operador JavaScript que usa três operandos. Esse operador é freqüentemente usado como um atalho para a instrução if.

     condition ? expr1 : expr2 

    Se a condição for verdadeira, o operador retornará o valor de expr1; caso contrário, retorna o valor de expr2.

     function fact(n) { if (n > 1) { return n * fact(n-1); } else { return 1; } // we can replace the above code in a single line of code as below //return (n != 1) ? n * fact(n - 1) : 1; } console.log(fact(5)); 

    Para mais esclarecimentos, por favor leia o link do documento MDN

      (sunday == 'True') ? sun="S" : sun="S"; sun = "S"