W języku JavaScript wynik działania instrukcji zmienna--; będzie taki sam jak instrukcji
A.
zmienna=zmienna-10;
B.
zmienna++;
C.
zmienna-=1;
D.
zmienna==zmienna-1;
Instrukcja zmienna -= 1; jest równoważna działaniu zmienna--; jako samodzielne polecenie, ponieważ w obu przypadkach wartość zmiennej zostaje zmniejszona o 1. Operator -- to operator dekrementacji. Zapis po nazwie zmiennej, czyli zmienna--, oznacza dekrementację postfiksową - zmienna zostanie pomniejszona o jeden. Operator -= jest skróconym przypisaniem: zmienna -= 1; oznacza to samo co zmienna = zmienna - 1;. Reguła do zapamiętania: x++ zwiększa x o 1, x-- zmniejsza x o 1, x += n dodaje n, a x -= n odejmuje n. W praktyce takie zapisy często pojawiają się w pętlach, licznikach oraz przy aktualizacji wartości liczbowych w skryptach JavaScript.
W tym pytaniu chodzi o zmianę wartości zmiennej, a nie tylko o podobny wygląd operatorów. Poprawny zapis to zmienna -= 1;, ponieważ operator -= odejmuje podaną wartość od aktualnej wartości zmiennej i zapisuje wynik z powrotem w tej samej zmiennej. Zapis zmienna++; działa odwrotnie - zwiększa wartość zmiennej o 1, więc odpowiada inkrementacji, a nie dekrementacji. Zapis zmienna = zmienna - 10; również modyfikuje zmienną, ale odejmuje 10, a nie 1, więc nie daje tego samego wyniku co zmienna--;. Zapis zmienna == zmienna - 1; nie jest przypisaniem, tylko porównaniem za pomocą operatora równości ==. Taka instrukcja sprawdza, czy dwie wartości są równe, ale nie zmienia zawartości zmiennej. Typowy błąd polega na pomyleniu operatora przypisania = lub -= z operatorem porównania == albo na nieuwzględnieniu, o ile dokładnie zmienia się wartość zmiennej.