Ich habe etwas interessantes gefunden und ich weiß nicht, warum es passiert.Javascript Array Typ Casting
Wenn ich in Google Chrome-Entwickler-Tools versuchen, die beiden folgenden staments
(Array([1,2,3])).filter(function (item, index, array) {
return item === 1;
}); ==> []
und
([1,2,3]).filter(function (item, index, array) {
return item === 1;
}); ==> [1]
Die Ergebnisse sind ein leeres Array für die erste Anweisung und Array mit einem einzelnen Wert (1) für die zweite
Untersuchen der Parameter für die Callback-Funktion, fand ich, dass in der ersten Anweisung die Argumente sind (Array, Index, Wert) und für die zweite st amente sind (Wert, Index, Array).
Untersuchen mit typeof und Konstruktor der beiden Objekte das Ergebnis sind die erwarteten und das gleiche "Objekt" und Array.
Warum passiert das?
Dank
Vielen Dank an alle für Ihre ansewrs, sind die meisten von ihnen richtig, nachdem Sie Ihre Antworten fand ich die Frage welche ich nicht gefragt, weil ich es gedacht wurde, nicht verwandt. Ich habe Typoskript benutzt, aber ich vergesse, dass Casting in Typoskript mit <> nicht mit() geschrieben wird. Deshalb wurde mein Code in der ersten Anweisung transpiliert, was offensichtlich nicht korrekt ist. – Alberto