Open In App

JavaScript Symbol isConcatSpreadable Property

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




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




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


Article Tags :