JavaScript | Symbol.isConcat Símbolo propagable

El Symbol.isConcatSpreadable es un símbolo bien conocido que se usa para configurar si un objeto determinado debe aplanarse en sus elementos de array mientras se usa el método Array.prototype.concat().
Sintaxis: 
 

Array[Symbol.isConcatSpreadable]

Aquí Array es el objeto de array que se aplanará a sus elementos de array.
Parámetros: Este símbolo no acepta ningún parámetro.
Valor devuelto : Este símbolo no devuelve ningún valor.
Código JavaScript para mostrar el funcionamiento de esta función. 
Ejemplo 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>

Producción: 
 

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

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

Producción: 
 

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

Navegadores compatibles: 
 

  • Google Chrome 48 y superior
  • Firefox 48 y superior
  • Borde 15 y superior
  • Ópera 35 y superior
  • Apple Safari 10 y superior

Publicación traducida automáticamente

Artículo escrito por Kanchan_Ray y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *