Como posso usar uma if
instrução embutida em JavaScript? Também existe uma else
declaração em linha ?
Algo assim:
var a = 2;
var b = 3;
if(a < b) {
// do something
}
Como posso usar uma if
instrução embutida em JavaScript? Também existe uma else
declaração em linha ?
Algo assim:
var a = 2;
var b = 3;
if(a < b) {
// do something
}
Respostas:
Você não precisa necessariamente do jQuery. Somente o JavaScript fará isso.
A
c
variável seráminor
se o valor fortrue
emajor
se o valor forfalse
.Isso é conhecido como operador condicional (ternário).
https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/Conditional_Operator
fonte
if (a < b) c = 'major';
Para escrever a
if
instrução em linha, o código dentro dela deve ser apenas uma instrução:fonte
Existe um operador ternário, assim:
fonte
0 < 1 : 5 : 120;
é uma afirmação perfeitamente válida. Um pouco inútil, a menos que você seja pago por linha, no entanto.if
declaração simples e chata antiga nesse caso provavelmente tornará seu código muito mais fácil de ler e entender, e menos provável de interromper com alterações posteriores.Você também pode aproximar um if / else usando apenas Operadores Lógicos.
O acima é aproximadamente o mesmo que dizer:
E, claro, aproximadamente o mesmo que:
Digo aproximadamente porque há uma diferença nessa abordagem, pois você precisa saber que o valor de
b
será avaliado como verdadeiro, caso contrário, você sempre obterác
. Basicamente, você deve perceber que a parte que apareceriaif () { here }
agora faz parte da condição que você colocaif ( here ) { }
.O exposto acima é possível devido ao comportamento do JavaScripts de transmitir / retornar um dos valores originais que formaram a expressão lógica, que depende do tipo de operador. Certas outras linguagens, como PHP, continuam o resultado real da operação, ou seja, verdadeiro ou falso, o que significa que o resultado é sempre verdadeiro ou falso; por exemplo:
Um benefício principal, comparado com uma declaração if normal, é que os dois primeiros métodos podem operar no lado direito de um argumento, ou seja, como parte de uma tarefa.
A única maneira de conseguir isso com uma instrução if padrão seria duplicar a atribuição:
Você pode perguntar por que usar apenas Operadores Lógicos, em vez do Operador Ternário , para casos simples que provavelmente não usaria, a menos que quisesse ter certeza
a
eb
fosse verdade. Você também pode obter condições complexas mais simplificadas com os operadores lógicos, que podem ficar bastante confusos usando operações ternárias aninhadas ... novamente, se você deseja que seu código seja facilmente legível, eles também não são tão intuitivos.fonte
Em inglês simples, a sintaxe explicava:
Pode ser escrito como:
fonte
condition ? true
true
false
e""
tudo deve ficar bem em ignorar a parte else.2 == 2 ? doSomething()
seria o mesmo queif (2 == 2) doSomething()
?: false
ou: ""
deve estar lá, pois o javascript está esperando isso.fonte
Se você deseja apenas um IF embutido (sem o ELSE), pode usar o operador AND lógico:
Se você precisar de um ELSE também, use a operação ternária que as outras pessoas sugeriram.
fonte
Você poderia fazer assim em JavaScript:
fonte
Para sua informação, você pode compor operadores condicionais
Se sua lógica for suficientemente complexa, você poderá considerar o uso de um IIFE
Obviamente, se você planeja usar essa lógica mais de uma vez, deve encapsulá-la em uma função para manter as coisas boas e SECAS.
fonte
Geralmente, preciso executar mais código por condição, usando:
( , , )
vários elementos de código podem executar:fonte
Para adicionar isso, você também pode usar inline se condição com && e || operadores. Como isso
fonte
A questão não é essencialmente: posso escrever o seguinte?
a resposta é sim, o acima será traduzido.
no entanto, tenha cuidado ao fazer o seguinte
não se esqueça de incluir código ambíguo entre chaves, pois o exemplo acima gera uma exceção (e permutações semelhantes produzirão um comportamento indesejado).
fonte
inline se:
conclusão verdadeira: declarações executadas quando a hipótese é verdadeira
conclusão de falsey: declarações executadas quando a hipótese é falsa
seu exemplo:
fonte