operatori condizionali sono volutamente sintetica e particolarmente utile per le assegnazioni:
var a = x ? 1 : 2;
li utilizzano per le funzioni di correre in modo condizionale, mentre è possibile, dovrebbe, per il bene di leggibilità essere fatto utilizzando if/else:
// This is possible but IMO not best practice:
X ? doSomething() : doSomethingElse();
Mentre prolisso, la maggior parte del tempo, questa è la soluzione migliore:
if (X) {
doSomething();
} else {
doSomethingElse();
}
Un notevole vantaggio della struttura IF/ELSE è che è possibile aggiungere ulteriori attività in ogni condizione con problemi minimi.
tuo ultimo frammento è anche possibile, ma sembra un po 'prolisso e, ancora una volta, potrebbe essere più adatto a una struttura logica più convenzionale; come un blocco IF/ELSE.
Detto questo, un operatore condizionale può ancora essere leggibile, ad es.
(something && somethingElse > 2) ?
doSomeLongFunctionName()
: doSomeOtherLongFunctionName();
Alla fine, come molte cose, si è scesi a preferenze personali. Ricorda sempre che il codice che stai scrivendo non è solo per te; altri sviluppatori potrebbero doverlo guadare in futuro; cerca di renderlo il più leggibile possibile.
La sintassi esiste per una ragione: va bene. – Cerebrus
ne so abbastanza per sapere che esiste un modo efficace o più appropriato per fare le cose. semplicemente non so cosa sono la maggior parte del tempo! grazie, a tutti, per rintoccare! quindi gli operatori condizionali e le dichiarazioni multiple possono, ma probabilmente non dovrebbero mescolarsi. fatto. – baokhangluu