In questo tutorial imparerai a conoscere l'istruzione if … else per creare programmi decisionali con l'aiuto di esempi.
Nella programmazione di computer, possono verificarsi situazioni in cui è necessario eseguire un blocco di codice tra più di un'alternativa. Ad esempio, assegnare i voti A , B o C in base ai voti ottenuti da uno studente.
In tali situazioni, è possibile utilizzare l' if… elseistruzione JavaScript per creare un programma in grado di prendere decisioni.
In JavaScript, ci sono tre forme di if… elsedichiarazione.
- istruzione if
 - if … else dichiarazione
 - if … else if … else dichiarazione
 
JavaScript if Statement
La sintassi ifdell'istruzione è:
 if (condition) ( // the body of if )
L' ifistruzione valuta la condizione all'interno delle parentesi ().
- Se la condizione viene valutata 
true,ifviene eseguito il codice all'interno del corpo di . - Se la condizione viene valutata 
false, il codice all'interno del corpo diifviene ignorato. 
Nota: il codice all'interno ( )è il corpo ifdell'istruzione.
 Utilizzo dell'istruzione if
Esempio 1: istruzione if
 // check if the number is positive const number = prompt("Enter a number: "); // check if number is greater than 0 if (number> 0) ( // the body of the if statement console.log("The number is positive"); ) console.log("The if statement is easy");
Uscita 1
Immettere un numero: 2 Il numero è positivo L'istruzione if è facile
Supponiamo che l'utente abbia inserito 2 . In questo caso, la condizione number> 0restituisce true. E il corpo della ifdichiarazione viene eseguito.
Uscita 2
Immettere un numero: -1 L'istruzione if è facile
Supponiamo che l'utente abbia inserito -1 . In questo caso, la condizione number> 0restituisce false. Quindi, il corpo ifdell'istruzione viene saltato.
Poiché console.log("The if statement is easy");è al di fuori del corpo ifdell'istruzione, viene sempre eseguita.
Gli operatori di confronto e logici vengono utilizzati nelle condizioni. Quindi, per saperne di più sul confronto e sugli operatori logici, puoi visitare JavaScript Comparison and Logical Operators.
Istruzione JavaScript if … else
Un'istruzione ifpuò avere una elseclausola facoltativa . La sintassi if… elsedell'istruzione è:
 if (condition) ( // block of code if condition is true ) else ( // block of code if condition is false )
L' if… elseistruzione valuta la condizione all'interno delle parentesi.
Se la condizione viene valutata a true,
- il codice all'interno del corpo di 
ifviene eseguito - il codice all'interno del corpo di 
elseviene saltato dall'esecuzione 
Se la condizione viene valutata a false,
- il codice all'interno del corpo di 
elseviene eseguito - il codice all'interno del corpo di 
ifviene saltato dall'esecuzione 
 Utilizzo dell'istruzione if … else
Esempio 2: istruzione if… else
 // check is the number is positive or negative/zero const number = prompt("Enter a number: "); // check if number is greater than 0 if (number> 0) ( console.log("The number is positive"); ) // if number is not greater than 0 else ( console.log("The number is either a negative number or 0"); ) console.log("The if… else statement is easy");
Uscita 1
Immettere un numero: 2 Il numero è positivo L'istruzione if… else è semplice
Supponiamo che l'utente abbia inserito 2 . In questo caso, la condizione number> 0restituisce true. Quindi, il corpo ifdell'istruzione viene eseguito e il corpo elsedell'istruzione viene saltato.
Uscita 2
Immettere un numero: -1 Il numero può essere un numero negativo o 0 L'istruzione if … else è facile
Supponiamo che l'utente abbia inserito -1 . In questo caso, la condizione number> 0restituisce false. Quindi, il corpo elsedell'istruzione viene eseguito e il corpo ifdell'istruzione viene saltato.
JavaScript if … else if istruzione
L' if… elseistruzione viene utilizzata per eseguire un blocco di codice tra due alternative. Tuttavia, se è necessario scegliere tra più di due alternative, è if… else if… elsepossibile utilizzare.
La sintassi if… else if… elsedell'istruzione è:
 if (condition1) ( // code block 1 ) else if (condition2)( // code block 2 ) else ( // code block 3 )
- Se condition1 restituisce 
true, viene eseguito il blocco di codice 1 . - Se condition1 restituisce 
false, viene valutata condition2 .- Se la condizione 2 è 
true, il blocco di codice 2 viene eseguito. - Se la condizione2 è 
false, il blocco di codice 3 viene eseguito. 
 - Se la condizione 2 è 
 
 Utilizzo dell'istruzione if … else if … else
Esempio 3: if … else if Istruzione
 // check if the number if positive, negative or zero const number = prompt("Enter a number: "); // check if number is greater than 0 if (number> 0) ( console.log("The number is positive"); ) // check if number is 0 else if (number == 0) ( console.log("The number is 0"); ) // if number is neither greater than 0, nor zero else ( console.log("The number is negative"); ) console.log("The if… else if… else statement is easy");
Produzione
Immettere un numero: 0 Il numero è 0 L'istruzione if … else if … else è facile
Supponiamo che l'utente abbia immesso 0 , quindi la prima condizione di test number> 0restituisce false. Quindi, viene number == 0valutata la seconda condizione di test truee viene eseguito il blocco corrispondente.
Istruzione if … else annidata
Puoi anche utilizzare if… elseun'istruzione all'interno di if… elseun'istruzione. Questo è noto come istruzione if … else annidata .
Esempio 4: istruzione if … else annidata
 // check if the number is positive, negative or zero const number = prompt("Enter a number: "); if (number>= 0) ( if (number == 0) ( console.log("You entered number 0"); ) else ( console.log("You entered a positive number"); ) ) else ( console.log("You entered a negative number"); )
Produzione
Enter a number: 5 You entered a positive number
Suppose the user entered 5. In this case, the condition number>= 0 evaluates to true, and the control of the program goes inside the outer if statement.
Then, the test condition, number == 0, of the inner if statement is evaluated. Since it's false, the else clause of the inner if statement is executed.
Note: As you can see, nested if… else makes our logic complicated and we should try to avoid using nested if… else whenever possible.
Body of if… else With Only One Statement
If the body of if… else has only one statement, we can omit ( ) in our programs. For example, you can replace
 const number = 2; if (number> 0) ( console.log("The number is positive."); ) else ( console.log("The number is negative or zero."); )
with
 const number = 2; if (number> 0) console.log("The number is positive."); else console.log("The number is negative or zero."); 
Output
The number is positive.
More on Decision Making
In alcune situazioni, un operatore ternario può sostituire if… elseun'istruzione. Per saperne di più, visita JavaScript Ternary Operator.
Se è necessario scegliere tra più di un'alternativa basata su una determinata condizione di test, è switchpossibile utilizzare l' istruzione. Per saperne di più, visita JavaScript switch.








