Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

JavaScript Symbol isConcatSpreadable Property

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

JavaScript Symbol.isConcatSpreadable is a well-known symbol used to configure if a given object should be flattened to its array elements while using the Array.prototype.concat() method.
Syntax: 
 

Array[Symbol.isConcatSpreadable]

Here Array is the array object which are to be flattened to its array elements.
Parameters: This symbol does not accept any parameter.
Return value: This symbol does not return any value.
JavaScript code to show the working of this function. 
Example-1: 
 

javascript




<script>
   // Creating some arrays
   const Array1 = [1, 2, 3];
   const Array2 = [4, 5, 6];
  
   // Calling concat() function
   let Array3 = Array1.concat(Array2);
  
   // Printing the concatenated array
   console.log(Array3);
  
   // Calling Symbol.isConcatSpreadable symbol
   Array2[Symbol.isConcatSpreadable] = false;
   Array3 = Array1.concat(Array2);
  
   // Printing the concatenated array
   // after calling of Symbol.isConcatSpreadable symbol
   console.log(Array3);
</script>

Output: 
 

> Array [1, 2, 3, 4, 5, 6]
> Array [1, 2, 3, Array [4, 5, 6]]

Example-2: 
 

javascript




<script>
   // Creating some arrays
   const Array1 = [1, 2, 3];
   const Array2 = [4, 5, 6];
  
   // Calling concat() function
   let Array3 = Array1.concat(Array2);
  
   // Printing the concatenated array
   console.log(Array3);
  
   // Calling Symbol.isConcatSpreadable symbol
   Array2[Symbol.isConcatSpreadable] = true;
   Array3 = Array1.concat(Array2);
  
   // Printing the concatenated array
   // after calling of Symbol.isConcatSpreadable symbol
   console.log(Array3);
</script>

Output: 
 

> Array [1, 2, 3, 4, 5, 6]
> Array [1, 2, 3, 4, 5, 6]

Supported Browsers: 
 

  • Google Chrome 48 and above
  • Firefox 48 and above
  • Edge 15 and above
  • Opera 35 and above
  • Apple Safari 10 and above

 


My Personal Notes arrow_drop_up
Last Updated : 18 May, 2023
Like Article
Save Article
Similar Reads
Related Tutorials