TL; DR;
Array.prototype.slice.call(nodelist).filter
Slice () yöntemi bir dizi döndürür. Dönen dizi toplama (nodelist) sığ bir kopyasıdır Yani
daha hızlı daha çalışır Yani Array.from ()
o kadar hızlı çalışır Yani ) (Array.from
Orijinal koleksiyonun öğeleri döndürülen diziye şu şekilde kopyalanır:
- Nesne referansları için (gerçek nesne değil), nesne referanslarını yeni diziye kopyalar. Hem orijinal hem de yeni dizi aynı nesneyi ifade eder. Referans verilen bir nesne değişirse, değişiklikler hem yeni hem de orijinal diziler tarafından görülebilir.
- Dizeler, sayılar ve boole'lar için (String, Number ve Boolean nesneleri değil), dilim, değerleri yeni diziye kopyalar. Bir dizideki dize, sayı veya boole'de yapılan değişiklikler diğer diziyi etkilemez.
Argümanlarla ilgili kısa açıklama
Array.prototype.slice (beginIndex, endIndex)
- isteğe bağlı argümanları beginIndex ve endIndex alır. Sağlanmazsa dilimler beginIndex == 0 kullanır, böylece koleksiyondaki tüm öğeleri çıkarır.
Array.prototype.slice.call (ad alanı, beginIndex, endIndex)
- ilk argüman olarak bir nesneyi alır. Bir koleksiyonu bir nesne olarak kullanırsak, bu kelimenin tam anlamıyla, slice yöntemini doğrudan o nesne ad alanından çağırdığımız anlamına gelir.slice ()
babel
, o[...coll]
zaman basitçeArray.from(coll)
olmayan herhangi bir şeyi arayacaktırArray
.