Szukam ostatecznej odpowiedzi na pytanie, dlaczego rozszerzanie wbudowanych prototypów jest tak surowo karane w społeczności programistów JS. Od jakiegoś czasu korzystam z frameworka JS Prototype i [1,2,3].each(doStuff)
wydaje mi się, że jest o wiele bardziej elegancki niż $.each([1,2,3], doStuff)
. Wiem, że powoduje to „zanieczyszczenie przestrzeni nazw”, ale nie rozumiem, dlaczego uważa się to za coś złego. Czy istnieje też jakikolwiek rzeczywisty spadek wydajności związany z rozszerzaniem wbudowanych prototypów? Dzięki!
for(var ... in ...)
pętle są pomieszane, ponieważ przekazywane są również funkcje prototypowe.