Baseline Widely available
Symbol.species
â извеÑÑнÑй Ñимвол, позволÑÑÑий опÑеделиÑÑ ÐºÐ¾Ð½ÑÑÑÑкÑоÑ, иÑполÑзÑÑÑийÑÑ Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿Ð¾ÑождÑннÑÑ
обÑекÑов.
СвойÑÑво Symbol.species
, ÑодеÑжаÑее акÑеÑÑÐ¾Ñ (геÑÑеÑ), позволÑÐµÑ Ð¿Ð¾Ð´ÐºÐ»Ð°ÑÑам пеÑеопÑеделиÑÑ ÐºÐ¾Ð½ÑÑÑÑкÑоÑ, иÑполÑзÑемÑй по ÑмолÑÐ°Ð½Ð¸Ñ Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð½Ð¾Ð²ÑÑ
обÑекÑов.
Ðам Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾Ð½Ð°Ð´Ð¾Ð±Ð¸ÑÑÑÑ Ð²Ð¾Ð·Ð²ÑаÑаÑÑ Ð¾Ð±ÑекÑÑ Ñипа Array
в меÑодаÑ
ваÑего пÑоизводного клаÑÑа MyArray
. ÐапÑимеÑ, пÑи иÑполÑзовании меÑода вÑоде map()
, иÑполÑзÑÑÑего конÑÑÑÑкÑÐ¾Ñ Ð¿Ð¾ ÑмолÑаниÑ, вам Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑÑебоваÑÑÑÑ Ð²Ð¾Ð·Ð²ÑаÑаÑÑ Ð¾Ð±ÑÐµÐºÑ ÑодиÑелÑÑкого Ñипа Array
, вмеÑÑо MyArray
. Символ species
Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ Ð²Ð°Ð¼ ÑÑо ÑделаÑÑ:
class MyArray extends Array {
// ÐеÑегÑÑжаем species Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑодиÑелÑÑкого конÑÑÑÑкÑоÑа Array
static get [Symbol.species]() {
return Array;
}
}
var a = new MyArray(1, 2, 3);
var mapped = a.map((x) => x * x);
console.log(mapped instanceof MyArray); // false
console.log(mapped instanceof Array); // true
СпеÑиÑикаÑии СовмеÑÑимоÑÑÑ Ñ Ð±ÑаÑзеÑами СмоÑÑиÑе Ñакже
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