Propiedad JavaScript Symbol.species

La propiedad Symbol.species especifica una propiedad con valor de función que la función constructora usa para crear objetos derivados. Con esto, podemos crear un objeto derivado.

Sintaxis:

[Symbol.species]

Atributo: la propiedad de acceso de especies se puede usar para permitir que las subclases anulen el constructor predeterminado para los objetos.

Los siguientes ejemplos ilustran la propiedad Symbol.species en JavaScript. 
 

Ejemplo 1: 

Javascript

<script>
 
  // Created geek class that is extended by Array
  class geek extends Array {
    static get [Symbol.species]() {
      return Array;
    }
  }
 
  // Values assigned to geek
  const a = new geek(1, 2, 3, 4);
  //mapped values to geek object
  const mapped = a.map((x) => 2);
 
  console.log(mapped instanceof geek);
  //  output: false
 
  console.log(mapped instanceof geek);
  // output: false
</script>

Producción: 

false
false

Ejemplo 2:

Javascript

<script>
  class geek extends Array {
 
    // Overwrite species to the parent Array constructor
    static get [Symbol.species]() {
      return Array;
    }
  }
  let a = new geek(1, 2, 3, 5, 7, 8);
  let mapped = a.map((x) => x);
 
  console.log(mapped instanceof geek); // false
  console.log(mapped instanceof Array); // true
</script>

Producción: 

false
true

Publicación traducida automáticamente

Artículo escrito por sravankumar8128 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 *