JavaScript Se L'istruzione esegue un'azione in base a una condizione, uno scenario comune in tutti i linguaggi di programmazione Se L'istruzione verifica un po 'di dati rispetto a una condizione, quindi specifica del codice da eseguire se la condizione è vera, in questo modo:
if condition
eseguire questo codice
Il Se L'istruzione è quasi sempre associata a altro perché normalmente si desidera definire un bit di codice alternativo da eseguire. Consideriamo un esempio:
if ('Stephen' === name)
message = "Bentornato Stephen";
altro
message = "Benvenuto" + nome;
Questo codice restituisce "Bentornato Stephen" se nome è uguale a Stefano; in caso contrario, restituisce "Benvenuto" e quindi qualunque sia il valore della variabile nome contiene.
JavaScript ci fornisce un modo alternativo di scrivere un Se quando entrambe le condizioni true e false assegnano valori diversi alla stessa variabile.
In questo modo più breve omette la parola chiave Se così come le parentesi graffe attorno ai blocchi (che sono opzionali per le singole istruzioni). Spostiamo anche il valore che stiamo impostando in condizioni sia vere che false in primo piano rispetto alla nostra singola dichiarazione e incorporiamo questo nuovo stile di Se dichiarazione nella dichiarazione stessa.
Ecco come appare:
variabile = (condizione)? valore vero: valore falso;
Quindi il nostro Se l'affermazione dall'alto potrebbe essere scritta tutta in una riga come:
messaggio = ('Stephen' === nome)? "Bentornato Stephen": "Benvenuto" + nome;
Per quanto riguarda JavaScript, questa affermazione è identica al codice più lungo dall'alto.
L'unica differenza è che la scrittura dell'istruzione in questo modo fornisce effettivamente a JavaScript ulteriori informazioni su cosa sta facendo l'istruzione if. Il codice può essere eseguito in modo più efficiente rispetto a quando lo abbiamo scritto nel modo più lungo e più leggibile. Questo è anche chiamato un operatore ternario.
Questo modo di codificare un'istruzione if può aiutare a evitare il codice dettagliato, in particolare in nidificato se dichiarazioni. Ad esempio, considera questo set di istruzioni if / else nidificate:
var risposta;
if (a == b)
if (a == c)
answer = "tutti sono uguali";
altro
answer = "aeb sono uguali";
altro
if (a == c)
answer = "a e c sono uguali";
altro
if (b == c)
answer = "bec sono uguali";
altro
answer = "tutti sono diversi";
Questo codice assegna uno dei cinque possibili valori a una singola variabile. Usando questa notazione alternativa, possiamo abbreviarla notevolmente in una sola istruzione che incorpora tutte le condizioni:
var answer = (a == b)? ((a == c)? "sono tutti uguali":
"aeb sono uguali"): (a == c)? "a e c sono uguali": (b == c) ?
"bec sono uguali": "tutti sono diversi";
Nota che questa notazione può essere usata solo quando tutti le diverse condizioni in fase di test stanno assegnando valori diversi a stesso variabile.