Domanda

Qualcuno può spiegare la ragione / importanza del perché javascriptlint (non JSLint) dà l'avviso

inc_dec_within_stmt - increment (++) and decrement (--) operators used as part of greater statement

quando si incontra una riga di codice come

someValue = count++;

Perché dovrei tenere questo controllo acceso?

È stato utile?

Soluzione

E 'un avvertimento, perché una simile affermazione può essere ambigua per i lettori umani.

Mentre io e te può guardare questo e capire che è equivalente a

someValue = count;
count = count + 1;

un programmatore meno esperti potrebbe erroneamente interpretare tale da

someValue = count + 1;

Naturalmente, questo è l'esempio più semplice. L'avvertimento è molto più meritato in una linea come

someValue = (count++) * (--index) / (3 * ++j);

anche se non posso dire che io abbia mai visto una linea del genere nel codice di produzione:)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top