Introduction

Automation is the technique of making a system operate automatically; in programming, we use loops to automate repetitious tasks. Loops are one of the most useful features of programming languages, and in this article we will learn about the while and do...while loops in JavaScript.
The while and do...while statements in JavaScript are similar to conditional statements, which are blocks of code that will execute if a specified condition results in true. Unlike an if statement, which only evaluates once, a loop will run multiple times until the condition no longer evaluates to true.
Another common type of loop you will encounter is the for statement, which executes a set number of times. while and do...while loops are conditionally based, and therefore it is not necessary to know beforehand how many times the loop will run.

While Loop

In JavaScript, a while statement is a loop that executes as long as the specified condition evaluates to true.
The syntax is very similar to an if statement, as seen below.

while (condition) {
	// execute code as long as condition is true
}

The while statement is the most basic loop to construct in JavaScript.
As an example, let’s say we have an aquarium that has a population limit. For each iteration of the loop, we will add one fish. Once the aquarium has 10 fish, the population limit will be reached, and the program will cease to add more fish.
aquarium.js


// Set population limit of aquarium to 10
const popLimit = 10;

// Start off with 0 fish
let fish = 0;

// Initiate while loop to run until fish reaches population limit
while (fish < popLimit) {
	// add one fish for each iteration
	fish++;
	console.log("There's room for " + (popLimit - fish) + " more fish.");
}

Once we run the above program, we’ll receive the following output, showing the iteration of the program through the while loop until the conditions are no longer evaluated as true.

There's room for 9 more fish.
There's room for 8 more fish.
There's room for 7 more fish.
There's room for 6 more fish.
There's room for 5 more fish.
There's room for 4 more fish.
There's room for 3 more fish.
There's room for 2 more fish.
There's room for 1 more fish.
There's room for 0 more fish.

In our example, we set our while loop to run as long as the number of fish was less than the population limit of the aquarium. For each iteration, one fish is added to the aquarium until all 10 spots are filled. At that point, the loop stops running.

Infinite Loops

An infinite loop, as the name suggests, is a loop that will keep running forever. If you accidentally make an infinite loop, it could crash your browser or computer. It is important to be aware of infinite loops so you can avoid them.
A common infinite loop occurs when the condition of the while statement is set to true. Below is an example of code that will run forever. It is not necessary to test any infinite loops.
infiniteLoop.js


// Initiate an infinite loop
while (true) {
	// execute code forever
}

An infinite loop will run forever, but the program can be terminated with the break keyword.
In the below example, we will add an if statement to the while loop, and when that condition is met, we will terminate the loop with break.
polarBears.js


// Set a condition to true
const iceCapsAreMelting = true;
let polarBears = 5;

// Initiate infinite loop
while (iceCapsAreMelting) {
  console.log(`There are ${polarBears} polar bears.`);
  polarBears--;
  // Terminate infinite loop when following condition is true
  if (polarBears === 0) {
	console.log("There are no polar bears left.");
  	break;
  }
}

When we run the code above, the output will be as follows.

There are 5 polar bears.
There are 4 polar bears.
There are 3 polar bears.
There are 2 polar bears.
There are 1 polar bears.
There are no polar bears left.

Note that this is not necessarily a practical method of creating and terminating a loop, but break is a useful keyword to be aware of.

Do…While Loop

We already learned about the while loop, which executes a block of code for as long as a specified condition is true. Building on that is the do...while statement, which is very similar to while with the major difference being that a do...while loop will always execute once, even if the condition is never true.
Below we will demonstrate the syntax of the do...while loop.

do {
	// execute code
} while (condition);

As you can see, the do portion of the loop comes first, and is followed by while (condition). The code block will run, then the condition will be tested as it is in a normal while loop.
To test this, we can set a variable to ``, increment it inside the do statement, and set our condition to false.
falseCondition.js


// Set variable to 0
let x = 0;

do {
	// Increment variable by 1
	x++;
	console.log(x);
} while (false);
1

Our output came out to 1, meaning that the code block iterated through the loop once (from ``) before it was stopped by an unsuccessful while condition.
While keeping in mind that the loop will iterate at least once, the do...while loop can be used for the same purposes as a while loop.

Conclusion

In this tutorial, we learned about the while loop, the do...while loop, and infinite loops in JavaScript.
Automation of repetitive tasks is an extremely important part of programming, and these loops can help make your programs more efficient and concise.
To learn more, read about the while and do...while loops on the Mozilla Developer Network.