Sto facendo una piccola utility per compilare il blocco javascript usando C#. Sto cercando di capire il flusso di esecuzione dell'operatore ternario. Ora, quando sto facendo funzionare un javascript utilizzando Chrome o Firefox:Risultato operatore ternario Javascript
var k = 27;
var o = 78;
var a = k < 100 ? o+=2 > 11 ? "T" : "F" : o < 100 ? "J" : "P";
alert(a);
Esso dovrebbe avere dammi risulto "T" o"F" se "o + = 2" restituisce false. Ma invece di quelli restituisce "78F". Qualcuno può per favore spiegarmi qual è la logica dietro di esso.
mi sento di raccomandare gli operatori ternari NON nidificazione. Anche se è sempre bello avere una sola linea, è molto più facile per gli altri sviluppatori capire se la dividi in istruzioni if-else. Una volta ho dovuto lavorare su un'applicazione con un massimo di 6 ternari nidificati in parti.Era una bestia da debellare. – HockeyJ
usa le parentesi '(' e ')' per differenziare le espressioni e renderlo più facile agli occhi di tutti. Probabilmente ti darà anche il risultato desiderato. – Aukhan
L'annidamento dei ternari è una pessima idea .. – rlemon