Ich bin neugierig, ob es eine Möglichkeit gibt, Array.isArray()
mit einem benutzerdefinierten Objekt zu fälschen.
Aus dem Buch JavaScript Patterns:
%Vor% Dieses Objekt fällt eindeutig aus, aber gibt es einen anderen Weg, es zu tun? Das ist pure Neugier, und nicht, weil ich denke, dass Sie jemals mit .isArray()
im normalen Client-Code schrauben könnten (obwohl es natürlich fantastisch wäre zu wissen, ob Sie könnten!).
Nur wenn Sie die interne Eigenschaft [[Class]]
auf "Array"
setzen, was nicht möglich ist so viel ich weiss. Aus der Spezifikation :
Die Funktion
isArray
nimmt ein Argumentarg
und gibt den booleschen Werttrue
zurück, wenn das Argument ein Objekt ist, dessen interne Eigenschaft der Klasse "Array" ist. Andernfalls wirdfalse
zurückgegeben.
Oder Sie gehen in die andere Richtung: Erstellen Sie ein normales Array und setzen Sie jede Array-Methode explizit auf undefined
.
Tags und Links javascript