Movatterモバイル変換


[0]ホーム

URL:


  1. Tecnología web para desarrolladores
  2. JavaScript
  3. Referencia de JavaScript
  4. Objetos globales
  5. Symbol
  6. Symbol.species

Esta página ha sido traducida del inglés por la comunidad.Aprende más y únete a la comunidad de MDN Web Docs.

View in EnglishAlways switch to English

Symbol.species

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨septiembre de 2016⁩.

El símbolo conocido comoSymbol.species especifica una propiedad con valor de función que la función constructora utiliza para crear objetos derivados.

Pruébalo

class Array1 extends Array {  static get [Symbol.species]() {    return Array;  }}const a = new Array1(1, 2, 3);const mapped = a.map((x) => x * x);console.log(mapped instanceof Array1);// Expected output: falseconsole.log(mapped instanceof Array);// Expected output: true

Descripción

La propiedad de accesospecies permite a las subclases anular el constructor por defecto de los objetos.

Atributos de la propiedadSymbol.species
SobrescribirNo
NumerableNo
ConfigurableNo

Ejemplos

Usando species

Es posible que quieras devolver objetosArray en tu clase array derivadaMyArray. Por ejemplo, al utilizar métodos comomap() que devuelven el constructor por defecto, quieres que estos métodos devuelvan un objetoArray padre, en lugar del objetoMyArray. El símbolospecies te permite hacer esto:

js
class MyArray extends Array {  // Sobrescribir especies al constructor de la matriz Array  static get [Symbol.species]() {    return Array;  }}let a = new MyArray(1, 2, 3);let mapped = a.map((x) => x * x);console.log(mapped instanceof MyArray); // falseconsole.log(mapped instanceof Array); // true

Especificaciones

Specification
ECMAScript® 2026 Language Specification
# sec-symbol.species

Compatibilidad con navegadores

Véase también

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp