What are Comparison Operators?
Comparison operators let you compare two values. They always return either true or false, which makes them perfect for if statements!
All Comparison Operators
===Strictly equal (same value AND type)
!==Strictly not equal
>Greater than
<Less than
>=Greater than or equal
<=Less than or equal
Equality: === vs ==
JavaScript has two equality operators. Always use === (strict equality) unless you have a specific reason not to!
Strict Equality (===) - RECOMMENDED
⚡ javascript
1
2
3
4
5
6
// Checks value AND type
console.log(5 === 5) // true (same value, same type)
console.log(5 === '5') // false (different types)
console.log('hi' === 'hi') // true
console.log(true === true) // true
console.log(true === 1) // false (different types)Loose Equality (==) - Avoid This
⚡ javascript
1
2
3
4
5
6
7
// Converts types before comparing (confusing!)
console.log(5 == '5') // true (converts '5' to number)
console.log(true == 1) // true (converts true to 1)
console.log(false == 0) // true (converts false to 0)
console.log('' == 0) // true (weird!)
// This can lead to bugs, so use === instead!Best Practice:
Always use === and !== for equality checks. They're safer and more predictable!
Greater Than and Less Than
Use these operators to compare numbers and see which is bigger or smaller.
Basic Comparisons
⚡ javascript
1
2
3
4
5
6
const score = 85
console.log(score > 80) // true (85 is greater than 80)
console.log(score > 100) // false (85 is not greater than 100)
console.log(score < 90) // true (85 is less than 90)
console.log(score < 50) // false (85 is not less than 50)Greater/Less Than or Equal
⚡ javascript
1
2
3
4
5
6
7
8
9
const age = 18
console.log(age >= 18) // true (18 equals 18)
console.log(age >= 21) // false (18 is less than 21)
console.log(age <= 18) // true (18 equals 18)
console.log(age <= 16) // false (18 is greater than 16)
// >= means 'greater than OR equal to'
// <= means 'less than OR equal to'In If Statements
⚡ javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
const temperature = 75
if (temperature > 80) {
console.log('It is hot!')
}
if (temperature >= 70) {
console.log('It is warm!') // This runs
}
if (temperature < 60) {
console.log('It is cold!')
}Real-World Uses
Grade Calculator
⚡ javascript
1
2
3
4
5
6
7
8
9
10
11
const score = 87
if (score >= 90) {
console.log('Grade: A')
} else if (score >= 80) {
console.log('Grade: B') // This runs
} else if (score >= 70) {
console.log('Grade: C')
} else {
console.log('Grade: F')
}Password Validation
⚡ javascript
1
2
3
4
5
6
7
8
9
10
const password = 'secret123'
const confirmPassword = 'secret123'
if (password === confirmPassword) {
console.log('Passwords match!') // This runs
}
if (password.length >= 8) {
console.log('Password is strong enough')
}Shopping Cart Discount
⚡ javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
const itemCount = 5
const total = 150
if (itemCount > 3) {
console.log('Bulk discount applied!')
}
if (total >= 100) {
console.log('Free shipping!')
}
if (total < 50) {
console.log('Add $' + (50 - total) + ' for free shipping')
}Game Level System
⚡ javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
const playerLevel = 25
const bossLevel = 30
if (playerLevel >= bossLevel) {
console.log('You can fight the boss!')
} else {
console.log('Level up ' + (bossLevel - playerLevel) + ' more times')
}
if (playerLevel !== 25) {
console.log('Not level 25')
} else {
console.log('You are level 25!') // This runs
}Challenge: Comparison Tester
Enter two values and choose an operator to see the comparison result!