Baseline Widely available
O sÃmbolo Symbol.species
especifica uma propriedade valor-função que a função construtora usa para criar objetos derivados.
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: false
console.log(mapped instanceof Array);
// Expected output: true
Descrição
A propriedade acessora de espécies permite que subclasses substituam o construtor padrão para objetos.
Writable no Enumerable no Configurable no Exemplos Usando espéciesVocê pode querer que retorne objetos Array
em sua class derivada de array MyArray
. Por exemplo, quando usar métodos tais como map()
que retorna o construtor padrão, você quer que esses métodos retornem um objeto Array
pai, em vez do objeto MyArray
. Esses sÃmbolos espécies permitem que você fala isso:
class MyArray extends Array {
// Substitui espécies para a Array pai construtora
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); // false
console.log(mapped instanceof Array); // true
Especificações Compatibilidade com navegadores Veja também
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4