Frage

Kann jemand den Grund / Bedeutung erklären, warum javascriptlint (nicht JSLint) gibt die Warnung

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

, wenn es über eine Codezeile kommt wie

someValue = count++;

Warum soll ich halte diese Prüfung eingeschaltet?

War es hilfreich?

Lösung

Es ist eine Warnung, weil eine Aussage wie das kann für den menschlichen Leser mehrdeutig sein.

Während Sie und ich kann das betrachten und verstehen, dass es entspricht

someValue = count;
count = count + 1;

ein weniger erfahrener Programmierer möglicherweise falsch interpretieren, dass als

someValue = count + 1;

Natürlich ist dies das einfachste Beispiel. Die Warnung wird viel mehr in einer Linie verdient, wie

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

obwohl ich kann nicht sagen, dass ich eine Linie wie das in der Produktion Code gesehen habe:)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top