let score = 85;
if (score >= 90) {
console.log("Grade: A");
else if (score >= 80) {
} console.log("Grade: B");
else if (score >= 70) {
} console.log("Grade: C");
else {
} console.log("Grade: F");
}
Grade: B
let score = 85;
if (score >= 90) {
console.log("Grade: A");
else if (score >= 80) {
} console.log("Grade: B");
else if (score >= 70) {
} console.log("Grade: C");
else {
} console.log("Grade: F");
}
Grade: B
if (true) console.log("Hello, World!"); // Single-line if statement
Hello, World!
A compact form for simple if/else situations:
? expressionIfTrue : expressionIfFalse condition
let age = 19;
let status = age >= 18 ? "adult" : "minor";
console.log(status);
adult
let day = 3;
let dayName;
switch (day) {
case 1:
= "Monday";
dayName break;
case 2:
= "Tuesday";
dayName break;
case 3:
= "Wednesday";
dayName break;
case 4:
= "Thursday";
dayName break;
case 5:
= "Friday";
dayName break;
default:
= "Weekend";
dayName
}
console.log(dayName);
Wednesday
Note the importance of the break
statement - without it, execution “falls through” to the next case. This can be useful in some scenarios but is usually a source of bugs.
For
Loopsfor
LoopThe traditional counting loop:
// for (initialization; condition; update)
for (let i = 0; i < 5; i++) {
console.log(i);
}
0
1
2
3
4
for...of
Loop (ES6)This is conceptually similar to Python’s for item in list
syntax.
const fruits = ["apple", "banana", "cherry"];
for (const fruit of fruits) {
console.log(fruit);
}
apple
banana
cherry
for...in
LoopUsed to iterate over the properties of an object:
const person = {
name: "John",
age: 30,
job: "developer"
;
}
for (const key in person) {
console.log(`${key}: ${person[key]}`);
}
name: John
age: 30
job: developer
Be careful: for...in
loops also iterate over inherited properties. When working with arrays, it’s generally better to use for...of
or a standard for loop.
.entries()
)const arr = [1, 2, 3, 4]
for (let [i, value] of arr.entries()) {
console.log(i, value)
}
0 1
1 2
2 3
3 4
while
LoopExecutes as long as a condition is true:
let count = 0;
while (count < 5) {
console.log(count);
++;
count }
0
1
2
3
4
4
do...while
Looplet count = 0;
do {
console.log(count);
++;
countwhile (count < 5); }
0
1
2
3
4
4
Even if the condition is initially false, the code block executes once:
let count = 10;
do {
console.log("This runs once even though count > 5");
while (count < 5); }
This runs once even though count > 5
JavaScript provides statements to control loop execution:
break
StatementTerminates the current loop immediately:
for (let i = 0; i < 10; i++) {
if (i === 5) {
break; // Exit the loop when i equals 5
}console.log(i);
}
0
1
2
3
4
continue
StatementSkips the current iteration and continues with the next one:
for (let i = 0; i < 10; i++) {
if (i % 2 === 0) {
continue; // Skip even numbers
}console.log(i);
}
1
3
5
7
9
labeled
StatementsLess commonly used, but allows you to break out of nested loops:
: for (let i = 0; i < 3; i++) {
outerLoopfor (let j = 0; j < 3; j++) {
if (i === 1 && j === 1) {
break outerLoop; // Breaks out of both loops
}console.log(`i=${i}, j=${j}`);
} }
i=0, j=0
i=0, j=1
i=0, j=2
i=1, j=0