Open In App

Explain the differences between for (..in) and for (..of) statement in JavaScript

Often in a JavaScript script, we iterate over some objects of a few built-in classes like Arrays, Dictionaries, Strings, Maps, etc. We iterate the objects using loops.

JavaScript supports different kinds of loops:



In this article, we will be learning about the difference between these two:

Table of Content



for (..in) loop

The JavaScript for (..in) statement loops through the enumerable properties of an object. The loop will iterate over all enumerable properties of the object itself and those the object inherits from its constructor’s prototype.

Syntax:

for (variable in object)
statement

Example: This example shows the use of a for-in loop.




let person = {
    firstName: "GeeksforGeeks",
    lastName: "A Computer Science Portal for Geeks",
    rank: 43
};
let userId = "";
let i;
for (i in person) {
    userId += person[i];
    console.log(userId);
}

Output
GeeksforGeeks
GeeksforGeeksA Computer Science Portal for Geeks
GeeksforGeeksA Computer Science Portal for Geeks43

for (..of) loop

This for (..of) statement lets you loop over the data structures that are iterable such as Arrays, Strings, Maps, Node Lists, and more. It calls a custom iteration hook with instructions to execute on the value of each property of the object.

Syntax:

for (variable of iterable) {
statement
}

Example: This example shows the use of a for-of loop.




let text = [
    "GeeksforGeeks",
    " A Computer Science Portal for Geeks ",
    "43"
];
let userId = "";
let i;
for (i of text) {
    userId += i;
    console.log(userId);
}

Output
GeeksforGeeks
GeeksforGeeks A Computer Science Portal for Geeks 
GeeksforGeeks A Computer Science Portal for Geeks 43

Article Tags :