Open In App

JavaScript Symbol isConcatSpreadable Property

Last Updated : 07 Aug, 2023
Comments
Improve
Suggest changes
Like Article
Like
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

Next Article

Similar Reads