Open In App

Javascript String @@iterator Method

Last Updated : 09 Jan, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

String [@@iterator]( ) Method is used to make String iterable. [@@iterator]() returns an iterator object which iterates over all code points of String. String[@@iterator] is a Built-in Property of String. 

We can use this method by making a string iterator. We can make an iterator by calling the @@iterator property of String. In place of @@iterator, we use Symbol.iterator constant.

Syntax:

// Test String
var str ="String"; 

// iterator to String
var iter = str[Symbol.iterator]();

We can get the iterator object with next(). It returns the object with the key value and is done. The value key holds a real iterating value string and the done key holds true or false if iteration finishes it keeps true if not then false. We can get the value of the object by str.value and done by str.done.

Example 1: Below is the code that illustrates the use of the above approach.

Javascript




<script>
  const str = 'GFG';
  const iterator = str[Symbol.iterator]();
  let theChar = iterator.next();
  
  for(let i = 0; i < str.length ;i++) {
    console.log(theChar.value , theChar.done);
    theChar = iterator.next();
  }
</script>


Output : 

"G" false
"F" false
"G" false

We can use the @@iterator method without assigning an iterator by using for — of loop to iterate the over-collection of data in using @@iterator method. On each iteration for — of loop call _next().value to iterate in the collection.

Example 2: Below is the code that illustrates the use of the above approach.

Javascript




<script>
  const str = 'GFG';
  const iterator = str[Symbol.iterator]();
  let theChar = iterator;
  
  for(let i = 0; i < str.length ;i++)
  {
      console.log(theChar.next().value );
  }
  
  // Using for - of loop
  console.log("Iterating by for-of loop :")
  for(let i of str)
  {
      console.log(i)
  }
</script>


Output:

"G"
"F"
"G"
Iterating by for-of loop  :
"G"
"F"
"G"

Supported Browsers:

  • Google Chrome 38 and above
  • Edge 12 and above
  • Firefox 36 and above
  • Opera 25 and above
  • Safari 9 and above
  • Internet Explorer not supported

We have a complete list of Javascript string methods, to check those please go through this Javascript String Complete reference article.



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads