Was ist der Unterschied zwischen Array.function und Array.prototype.function?

9

Ich habe festgestellt, dass einige Funktionen wie concat() push() every() beide in Array und Array.prototype (mit Firefox 57.0.1 Konsole) existieren

Es ist verwirrend, da Prototypmethoden in Array existieren.
Zusätzlich, wo ist die Staic-Methode ( Array.from() , Array.isArray() usw.) vorhanden?

Ich glaube, ich habe die Konzepte des JavaScript-Prototyps einigermaßen verstanden, also bin ich neugierig darauf, warum Prototyp-Methoden ( concat() push() ...) sowohl in Array als auch in Array.prototype     

soonoo 07.12.2017, 08:56
quelle

2 Antworten

4

Die Funktion Array von Firefox scheint zusätzliche (nicht konforme) "statische" Methoden zu haben, die die Prototyp-Methoden replizieren, außer dass sie das Array als ersten Parameter anstatt über den impliziten this -Kontext verwenden.

Um diese Methoden und Eigenschaften von Array anzuzeigen, verwenden Sie:

%Vor%

In Firefox werden Sie (meistens) dieselbe Liste wie in Ihrem ersten Screenshot sehen. Ich habe noch nicht herausgefunden, warum Array.isArray in Ihrer Liste fehlt, aber es erscheint in meinem Firefox 57.

In Chrome werden nur die statischen ES6-Methoden (d. h. Array.from , Array.isArray , Array.of ) und die Standardeigenschaften angezeigt.

    
Alnitak 07.12.2017 08:59
quelle
2

Array.prototype stellt den Prototyp für den Array-Konstruktor dar und ermöglicht das Hinzufügen neuer Eigenschaften und Methoden zu allen Array-Objekten.

Referenz

Ссылка

Ссылка

    
Nisal Edu 07.12.2017 09:00
quelle

Tags und Links