Open In App

JavaScript Symbol isConcatSpreadable Property

Last Updated : 07 Aug, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

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 is to be flattened to its array elements.

Parameters: This symbol does not accept any parameter.

Return value: This symbol does not return any value.

Example 1: In this example, we will use isConcatSpreadable Property

javascript




// 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);


Output

[ 1, 2, 3, 4, 5, 6 ]
[ 1, 2, 3, [ 4, 5, 6, [Symbol(Symbol.isConcatSpreadable)]: false ] ]


Example 2: In this example, we will use isConcatSpreadable Property

javascript




// 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);


Output

[ 1, 2, 3, 4, 5, 6 ]
[ 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


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads