Summary: in this tutorial, you’ll learn about the JavaScript comma operator and its usage.
Introduction to the JavaScript comma operator
JavaScript uses a comma (,) to represent the comma operator. A comma operator takes two expressions, evaluates them from left to right, and returns the value of the right expression.
Here’s the syntax of the comma operator:
leftExpression, rightExpressionCode language: JavaScript (javascript)For example:
let result = (10, 10 + 20);
console.log(result);Code language: JavaScript (javascript)Output:
30Code language: JavaScript (javascript)In this example, the 10, 10+20 returns the value of the right expression, which is 10+20. Therefore, the result value is 30.
See the following example:
let x = 10;
let y = (x++, x + 1);
console.log(x, y);Code language: JavaScript (javascript)Output:
11 12Code language: JavaScript (javascript)In this example, we increment the value of x by one (x++), add one to x (x+1) and assign x to y. Therefore, x is 11, and y is 12 after the statement.
However, to make the code more explicit, you can use two statements rather than one statement with a comma operator like this:
let x = 10;
x++;
let y = x + 1;
console.log(x, y);Code language: JavaScript (javascript)This code is more explicit.
In practice, you might want to use the comma operator inside a for loop to update multiple variables each time through the loop.
The following example uses the comma operator in a for loop to display an array of nine elements as a matrix of 3 rows and three columns:
let board = [1, 2, 3, 4, 5, 6, 7, 8, 9];
let s = '';
for (let i = 0, j = 1; i < board.length; i++, j++) {
s += board[i] + ' ';
if (j % 3 == 0) {
console.log(s);
s = '';
}
}Code language: JavaScript (javascript)Output:
1 2 3
4 5 6
7 8 9Code language: JavaScript (javascript)How it works.
First, define an array called board that stores numbers from 1 to 9, representing the board:
let board = [1, 2, 3, 4, 5, 6, 7, 8, 9];Code language: JavaScript (javascript)Second, declare a variable and initialize its value to an empty string:
let s = '';Code language: JavaScript (javascript)Third, declare two variables inside the loop. i for iterating over elements of board array and j is a counter that increments with each iteration:
for (let i = 0, j = 1; i < board.length; i++, j++)Code language: JavaScript (javascript)Fourth, append each element in the board array and a space to the string s, display the s if the counter (j) is divisible by 3, and reset the string s:
s += board[i] + ' ';
if (j % 3 == 0) {
console.log(s);
s = '';
}Code language: JavaScript (javascript)Finally, execute the loop body until all elements of the board array have been processed.
Summary
- A comma operator takes two expressions, evaluates them from left to right, and returns the value of the right expression.
- Use the comma operator (
,) inside aforloop to update multiple variables once. - Use two statements rather than the comma operator elsewhere to make the code more explicit and easily understood.