Умножение с присваиванием (*=)
В программировании часто нужно не просто вычислить новое значение, а изменить уже существующую переменную. Оператор умножения с присваиванием — это удобный и короткий способ умножить значение переменной на какое-то число и сразу сохранить результат обратно в эту же переменную. Это один из составных операторов присваивания, который делает код чище и понятнее.
Простыми словами
Представь, что у тебя есть копилка с деньгами. Допустим, в ней 100 рублей. Тебе повезло, и твои сбережения решили увеличить в 3 раза! Что ты сделаешь? Ты не будешь искать вторую копилку, чтобы записать новый результат. Ты достанешь деньги из своей копилки, пересчитаешь (100
- 3 = 300) и положишь эти 300 рублей обратно в ту же самую копилку.
- Шаг 1: Убедись, что переменная уже существует и у неё есть значение.
- Шаг 2: Напиши имя этой переменной.
- Шаг 3: Поставь оператор
*=(знак умножения и сразу знак равенства). - Шаг 4: Напиши число или выражение, на которое нужно умножить.
- Шаг 5: Запись
a = bозначает ровно то же, что и полная записьa = a b. - 5;
- (1 + rate);
- factor;
- Задача-разминка: «Представь, что у переменной
score = 10. Что будет в ней после командыscore *= 3?» (Правильно: 30). - Задача на понимание эквивалентности: «Как переписать длинную команду
money = money 2короче?» (Правильно:money = 2). Если ребёнок отвечает быстро и уверенно, значит, принцип усвоен. - Использование с неинициализированной переменной. Ошибка:
let sum; sum = 5;. Переменнаяsumизначально равнаundefined, аundefined 5дастNaN(не число). Всегда задавайте начальное значение. - Путаница в порядке операций. Запись
a = 2 + 3означаетa = a (2 + 3), а неa = a. Сначала вычисляется ВСЁ выражение справа, затем происходит умножение. Когда сомневаетесь, используйте скобки для ясности.- 2 + 3
- Опечатка: пропуск знака =. Написание
a 5вместоa = 5не изменит значение переменнойa. Это просто выражение, результат которого не сохраняется никуда. Компьютер выполнит умножение «вхолостую».
Оператор *= делает то же самое с переменной в программе: берёт её текущее значение, умножает на указанное число и результат кладёт обратно. Это как сказать переменной: «Умножь саму на себя в N раз и запомни новый результат».
Алгоритм действий
Чтобы использовать умножение с присваиванием, следуй простым шагам:
Шпаргалка
| Длинная запись | Короткая запись с *= | Объяснение |
|---|---|---|
x = x
|
x *= 5; |
Значение x умножается на 5, результат сохраняется в x. |
balance = balance
|
balance *= (1 + rate); |
Умножение на выражение в скобках (например, для расчёта процентов). |
count = count
|
count *= factor; |
Умножение значения переменной на значение другой переменной. |
Важно: Сначала вычисляется выражение справа от *=, затем происходит умножение и присваивание. |
||
Примеры с подробным решением
Пример 1: Простой
Увеличим количество яблок в корзине в 4 раза.
let apples = 5; // В корзине 5 яблок
apples *= 4; // Умножаем 5 на 4 и результат (20) сохраняем обратно в apples
console.log(apples); // Выведет: 20
Пример 2: Средний
Учёт скидки на товар. У нас есть цена, и мы хотим применить к ней скидку 20% (то есть оставить 80% от цены).
let price = 1000; // Исходная цена 1000 рублей
let discount = 0.8; // Множитель для 20% скидки (100% - 20% = 80% = 0.8)
price = discount; // Вычисляем: price = 1000 0.8 = 800
console.log(price); // Выведет: 800
Пример 3: Со звёздочкой*
Удвоение каждого элемента в массиве чисел с использованием цикла.
let numbers = [3, 7, 10, 15]; // Исходный массив
for (let i = 0; i < numbers.length; i++) {
numbers[i] *= 2; // Каждый элемент умножаем на 2 и сохраняем на его место
}
console.log(numbers); // Выведет: [6, 14, 20, 30]
Здесь numbers[i] = 2 для первого элемента работает как numbers[0] = numbers[0] 2.
Родителям
Чтобы за 2 минуты проверить понимание, задайте ребёнку две задачи устно или на листочке:
Частые ошибки
Заключение
Оператор умножения с присваиванием *= — это небольшой, но мощный инструмент для написания лаконичного и эффективного кода. Он помогает избежать повторения имени переменной, делает программу читабельнее и снижает вероятность опечаток. Освоив его, ваш ребёнок делает шаг к стилю программирования, который используется профессиональными разработчиками по всему миру.