Alguém pode me explicar com palavras simples o que é o ?:
operador (condicional, "ternário") e como usá-lo?
javascript
ternary-operator
silencioso
fonte
fonte
?:
(como você o escreveu, sem nenhuma declaração) - o operador Elvis . Muito esperto.Respostas:
Este é um atalho de uma linha para uma instrução if-else. É chamado de operador condicional. 1 1
Aqui está um exemplo de código que pode ser reduzido com o operador condicional:
Isso pode ser reduzido com o seguinte
?:
:Como todas as expressões, o operador condicional também pode ser usado como uma declaração autônoma com efeitos colaterais, embora isso seja incomum fora da minificação:
Eles podem até ser acorrentados:
Tenha cuidado, porém, ou você terminará com código complicado como este:
1 Freqüentemente chamado de "operador ternário", mas na verdade é apenas um operador ternário [um operador que aceita três operandos]. No entanto, é o único JavaScript atualmente.
fonte
ternary
é o tipo de operador (ou seja, possui 3 partes). O nome desse operador ternário específico é oconditional operator
. Acontece que existe apenas um operador ternário em JS, portanto os termos são mal utilizados.||
operador, pois ele provoca um curto-circuito se o valor à esquerda for verdadeiro.Eu quero adicionar alguns para as respostas dadas.
Caso você encontre (ou queira usar) um ternário em uma situação como 'exibir uma variável se estiver definida, senão ...', você pode torná-lo ainda mais curto, sem um ternário .
Ao invés de:
Você pode usar:
Este é um Javascripts equivalente ao operador ternário abreviado do PHP
?:
Ou até:
Ele avalia a variável e, se for falsa ou não definida, segue para a próxima.
fonte
'Hello ' + (username ? username : 'guest')
,Hello +
se ignorado e apenas o resultado da operação ternária é retornado. Alguém pode explicar o porquê?'Hello ' + username
, que é sempretrue
, porque é uma string com um comprimento maior que 0.É chamado de operador 'ternário' ou 'condicional'.
Exemplo
Da documentação JS do MSDN .
Basicamente, é uma declaração condicional abreviada.
Veja também:
fonte
É um pouco difícil pesquisar no Google quando tudo que você tem são símbolos;) Os termos a serem usados são "operador condicional de javascript".
Se você vir mais símbolos engraçados em Javascript, tente procurar primeiro os operadores de Javascript: a lista de operadores do MDC . A única exceção que você provavelmente encontrará é o
$
símbolo .Para responder sua pergunta, operadores condicionais substituem instruções if simples. Um exemplo é o melhor:
Ao invés de:
fonte
var olderThan20 = age > 20;
.é equivalente a
exceto, é claro, é mais curto.
fonte
A maioria das respostas está correta, mas quero acrescentar um pouco mais. O operador ternário é associativo à direita, o que significa que pode ser encadeado da seguinte maneira
if … else-if … else-if … else
:Equivalente a:
Mais detalhes estão aqui
fonte
É chamado de operador ternário
fonte
Operador ternário
Geralmente, temos declarações condicionais em Javascript.
Exemplo:
mas contém duas ou mais linhas e não pode ser atribuído a uma variável. O Javascript tem uma solução para este Operador ternário de problemas . O operador ternário pode escrever em uma linha e atribuir a uma variável.
Exemplo:
Este operador ternário é semelhante na linguagem de programação C.
fonte
Ei, companheiro, lembre-se de que o js funciona avaliando como verdadeiro ou falso, certo?
vamos dar um operador ternário:
Primeiro, js verifica se questionAnswered é
true
oufalse
.if
true
(?
) você receberá "Awesome!"else (
:
) você ficará "maldito";Espero que isso ajude amigo :)
fonte
É
if statement
tudo em uma linha.assim
A expressão a ser avaliada está no
( )
Se for verdadeiro, execute o código após o
?
Se corresponder a falso, execute o código após o
:
fonte
unário
Binário
Ternário
fonte
É chamado de
ternary operator
. Para mais informações, aqui está outra pergunta que respondi sobre isso:Como escrever uma instrução IF else sem 'else'
fonte
conditional operator
. Acontece que existe apenas um operador ternário em JS, portanto os termos são mal utilizados.Provavelmente, essa não é exatamente a maneira mais elegante de fazer isso. Mas para alguém que não está familiarizado com operadores ternários, isso pode ser útil. Minha preferência pessoal é fazer fallbacks de 1 linha em vez de blocos de condição.
Operador ternário
fonte
Podemos usar com Jquery, bem como o comprimento, como no exemplo abaixo:
Suponha que tenhamos a caixa de texto GuarantorName que possui valor e deseja obter o nome e o sobrenome - pode ser nulo. Então, rathar que
Podemos usar o código abaixo com Jquery com código mínimo
fonte
Expressões ternárias são muito úteis em JS, especialmente React. Aqui está uma resposta simplificada para as muitas boas e detalhadas fornecidas.
Pense
expressionIfTrue
como o OG se a declaração for verdadeira;pense
expressionIfFalse
como a declaração else.Exemplo:
isso verificou o valor de x, o primeiro y = (valor) retornado se verdadeiro, o segundo retorno após os dois pontos: retornou y = (valor) se falso.
fonte
Para mais esclarecimentos, leia o link do documento MDN
fonte
Se você tiver uma condição, verifique a função da instância em javascript . é fácil de usar operador ternário . que precisará apenas de uma única linha para implementar. Ex:
uma função como essa com uma condição pode ser escrita da seguinte maneira.
doença ? se verdadeiro: se falso
fonte
fonte
sunday ?
.it deve sersun = "<span class='label " + ((sunday === 'True' ? 'label-success' : 'label-danger') + "'>S</span>"