--- title: if...else slug: Web/JavaScript/Reference/Statements/if...else tags: - Instrução - JavaScript - condicional - if else - se então translation_of: Web/JavaScript/Reference/Statements/if...else ---
A condicional if é uma estrutura condicional que executa a afirmação, dentro do bloco, se determinada condição for verdadeira. Se for falsa, executa as afirmações dentro de else.
if (condição) afirmação1 [else afirmação2]
condiçãocondição1condição2Múltiplas condicionais if ... else podem ser aninhados quando necessário. Observe que não existe elseif (em uma palavra). O correto é a instrução com espaços (else if), conforme abaixo:
if (condição1) instrução1 else if (condição2) instrução2 else if (condição3) instrução3 ... else instruçãoN
Para ver seu funcionamento, abaixo está a instrução como deveria ser caso identada corretamente.
if (condição1)
instrução1
else
if (condição2)
instrução2
else
if (condição3)
...
Para executar multiplas instruções dentro de uma condição, utilize um bloco ({ ... }) . Em geral, é sempre uma boa prática utilizar instruções dentro de blocos, especialmente em códigos que envolvam condicionais if aninhadas:
if (condição) {
instrução1
} else {
instrução2
}
Não confunda os valores boolean primitivos true e false com os valores true e false do objeto Boolean. Qualquer valor que não for undefined, null, 0, NaN, ou uma string vazia (""), e qualquer objeto, incluíndo um objeto Boolean cujo valor é false, é avaliado como true quando passado por uma condicional. Por exemplo:
var b = new Boolean(false); if (b) // essa condição é avaliada como true
if...elseif (cipher_char === from_char) {
result = result + to_char;
x++;
} else {
result = result + clear_char;
}
else ifPerceba que não existe sintaxe de elseif em JavaScript. Entretanto, você pode escrevê-la com um espaço entre o if e o else.
if (x > 5) {
} else if (x > 50) {
} else {
}
É recomendado não utilizar atribuições simples junto de uma expressão condicional, visto que atribuições podem ser confundidas com igualdade ao olhar o código. Por exemplo, não use o código abaixo:
if (x = y) {
/* faça a coisa certa */
}
Caso você precise utilizar uma atribuição em uma expressão condicional, uma prática comum é inserir parênteses adicionais em volta da atribuição. Por exemplo:
if ((x = y)) {
/* faça a coisa certa */
}
| Especificação | Status | Comentário |
|---|---|---|
| {{SpecName('ESDraft', '#sec-if-statement', 'if statement')}} | {{Spec2('ESDraft')}} | |
| {{SpecName('ES6', '#sec-if-statement', 'if statement')}} | {{Spec2('ES6')}} | |
| {{SpecName('ES5.1', '#sec-12.5', 'if statement')}} | {{Spec2('ES5.1')}} | |
| {{SpecName('ES3', '#sec-12.5', 'if statement')}} | {{Spec2('ES3')}} | |
| {{SpecName('ES1', '#sec-12.5', 'if statement')}} | {{Spec2('ES1')}} | Definição Inicial |
{{CompatibilityTable}}
| Característica | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Suporte Básico | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
| Característica | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Suporte Básico | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |