Skip to content
Related Articles

Related Articles

JavaScript | Symbol.isConcatSpreadable symbol
  • Last Updated : 09 May, 2019

The 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:




<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:




<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
  • Firefox 48
  • Edge 15
  • Opera
  • Apple Safari

Reference: https://devdocs.io/javascript/global_objects/symbol/isconcatspreadable

full-stack-img

My Personal Notes arrow_drop_up
Recommended Articles
Page :