Javascript · Numbers
Assignment Operators
The full text of this chapter, to read or revisit. To practise, do the exercises.
▶ Do the exercises
Exercise 1 — Introduction to Assignment Operators
You already know the basic assignment operator
=
, which stores a value in a variable. But what if you want to modify a variable based on its current value?
For example, when your Codémon gains experience points, you want to add to its existing XP:
let aquachuXP = 100; console.log("Starting XP:", aquachuXP); // Add 50 XP after winning a battle aquachuXP = aquachuXP + 50; console.log("After battle:", aquachuXP);
This pattern of
variable = variable + value
is so common that JavaScript provides a shortcut: compound assignment operators.
The code above can be rewritten as:
let aquachuXP = 100; console.log("Starting XP:", aquachuXP); // Shorter way to add 50 XP! aquachuXP += 50; console.log("After battle:", aquachuXP);
Both ways do exactly the same thing, but
+=
is shorter and clearer!
Exercise 2 — All the Compound Assignment Operators
JavaScript has a compound assignment operator for each arithmetic operator. Here they all are:
let a = 10; a += 5; let b = 20; b -= 8; let c = 7; c *= 3; let d = 100; d /= 4; let e = 17; e %= 5; let f = 2; f **= 3; console.log(a, b, c, d, e, f);
Why use compound operators?
Compound operators make your code shorter and easier to read. When you see
health += 20
, you immediately know you're adding to the existing health value. It's a common pattern that all programmers recognize!
Exercise 3 — Understanding Compound Assignment
Which of the following is equivalent to
score = score * 3;
?
Options
• ```score *= 3;```
• ```score =* 3;```
• ```score += 3;```
• ```score = 3;```
Hint : Look for the operator that combines multiplication with assignment. The operator comes before the equals sign.
Exercise 4 — Converting to Compound Operators
Pyrochu just won 5 levels! Rewrite the code using a compound assignment operator:
let pyrochuLevel = 10; pyrochuLevel ____ 5; console.log(pyrochuLevel);
Options: = += -= 5 pyrochuLevel + pyrochuLevel -
Hint : When you see ```variable = variable + value```, you can replace it with ```variable += value```.
Exercise 5 — Practice with Different Operators
Complete the code to reduce Florachu's energy by 15 using a compound operator:
let florachuEnergy = 100; florachuEnergy ____ ____; console.log(florachuEnergy);
Options: += -= *= /= 15 85
Hint : To reduce a value, you need the subtraction compound operator. Think about which operator subtracts.
Exercise 6 — Predicting the Result
What will be the final value of
coins
after running this code?
let coins = 50; coins += 30; coins -= 20; console.log(coins);
Options
• 60
• 50
• 80
• 0
Hint : Follow the operations step by step. Start with 50, then add 30, then subtract 20.
Exercise 7 — Match the Operators
Match each compound operator with its long form equivalent:
Items to match
• x += 10
• x *= 2
• x /= 5
• x -= 7
• x %= 3
Definitions
• x = x + 10
• x = x * 2
• x = x / 5
• x = x - 7
• x = x % 3
Exercise 8 — Complex Operations
What is the value of
damage
after this code runs?
let damage = 10; damage *= 3; damage += 5; console.log(damage);
Options
• 35
• 45
• 50
• 30
Hint : Execute each operation in order: first multiply 10 by 3, then add 5 to that result.
Exercise 9 — Real-World Application
Your Codémon's defense doubles when it uses a shield move. Complete the code using a compound operator:
let defense = 25; console.log("Defense before shield:", defense); // Shield move doubles defense defense ____ ____; console.log("Defense with shield:", defense);
Options: += *= **= 2 defense 50
Hint : To double a value means to multiply it by 2. Which compound operator performs multiplication?
Exercise 10 — Codémon Battle Stats
Your Aquachu is in an intense battle! Create a program that tracks its stats through the battle: 1. Start with: - HP: 100 - Attack: 50 - Defense: 30 - XP: 200 2. During the battle: - Aquachu takes 25 damage (reduce HP) - Uses a power-up that doubles its attack - Enemy's critical hit reduces defense by 10 - After winning, gains 150 XP 3. Print all final stats with descriptive labels. Use compound assignment operators for all modifications!
Starter code
// Initialize Aquachu's stats // Battle sequence // Display final stats
Back to the course