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