Operator przypisania mnożenia *= w JavaScript
Operator *= jest skróconą formą zapisu mnożenia zmiennej przez podaną wartość i ponownego przypisania wyniku do tej samej zmiennej.
Składnia
zmienna *= wartość;
Zapis:
x *= 3;
oznacza dokładnie to samo co:
x = x * 3;
Jeżeli x miało wartość 2, po wykonaniu instrukcji x *= 3 zmienna x będzie miała wartość 6.
Przykład w pętli
var x = 1, i = 0;
do {
x *= 3;
i++;
} while (x != 27);
Kolejne wartości zmiennej x po wykonaniu instrukcji x *= 3 to:
- po 1. obiegu:
x = 3 - po 2. obiegu:
x = 9 - po 3. obiegu:
x = 27
Po trzecim obiegu warunek x != 27 jest fałszywy, więc pętla kończy działanie.
Na co uważać?
- Operator
*=najpierw oblicza wynik mnożenia, a potem zapisuje go do tej samej zmiennej. - W pętli może szybko zmieniać wartość zmiennej sterującej lub pomocniczej.
- Przy analizie liczby obiegów pętli trzeba śledzić wartości zmiennych po każdej iteracji.
Podobne operatory
W JavaScript istnieją też inne operatory przypisania z działaniem:
x += 2; // x = x + 2
x -= 2; // x = x - 2
x *= 2; // x = x * 2
x /= 2; // x = x / 2