Hoi 
Ik heb 2 vragen over het prototype-mechanisme van JS, waar ik graag de mening van anderen over zou horen. Een vaak gehoorde opvatting is dat het prototypen van Object in JavaScript iets vreselijks is, en ik vraag me af waarom. Ik snap wel dat het vaak handiger is om een object lager in de hierarchie te pakken als het even kan: Array.prototype.indexOf heeft de voorkeur boven Object.prototype... . Maar er zijn vast situtaties waarin je een bepaalde methode op alle objecten zou willen gebruiken. Ik heb ooit een voorbeeld gezien (van crisp?) van een script waarin object.prototype werd gebruikt om een object te serializen... Dat lijkt mij best wel handig. Zomaar een voorbeeldje, het gaat mij er niet zozeer om of het handig is en wanneer, maar meer om het principe
Ik snap wel dat het not-done is om Object met van alles en nog wat te gaan prototypen, maar dan sla je imho door naar de andere kant 
Hét tegenargument is het object-als-hashmap principe van JS. Vaak word er dan een for(var x in y) laten zien, en 'kijk: het loopen werkt niet meer goed!'
Maar dat kan toch gewoon met hasOwnProperty() opgelost worden? Prototype is toch net zo goed een JS-feature? Imho is het zo dat hasOwnProperty() dé oplossing is als deze 2 JS-features (prototype/hashmap) botsen. 
Ik heb de search en Google gebruikt, maar kom niet echt veel nuttigs tegen. Wel websites van mensen als Dean Edwards die zeggen dat het streng verboden is, en bijvoorbeeld deze website. Het voorbeeld wat hij geeft is btw ook prima met hasOwnProperty() op te lossen
Tweede vraag: hoe gaan jullie om met het prototypen van andere objecten, zoals html elementen? Ik zie het eigenlijk bijna nooit, terwijl er imho wel wat in zit. Voorbeeld: je hebt een tabel, die je wilt kunnen sorteren. Waarom dan niet een HTMLTableElement.prototype.sort = ... ? Dat maakt je code volgens mij veel cleaner: table.sort() ipv sortTable(table). Ik kom wel topics tegen als deze: [purisme] prototypes / OO in JavaScript *, maar daar zie ik ook niet echt nadelen van betekenis...
Kortom: waarom word prototypen niet veel meer gebruikt? Is er echt wat mis mee, of is het enkel onbekendheid, of is er nog wat anders? Ik zou het zelf wel vaker willen gebruiken, maar ik wil eerst goed weten wat de nadelen zijn
Ik heb 2 vragen over het prototype-mechanisme van JS, waar ik graag de mening van anderen over zou horen. Een vaak gehoorde opvatting is dat het prototypen van Object in JavaScript iets vreselijks is, en ik vraag me af waarom. Ik snap wel dat het vaak handiger is om een object lager in de hierarchie te pakken als het even kan: Array.prototype.indexOf heeft de voorkeur boven Object.prototype... . Maar er zijn vast situtaties waarin je een bepaalde methode op alle objecten zou willen gebruiken. Ik heb ooit een voorbeeld gezien (van crisp?) van een script waarin object.prototype werd gebruikt om een object te serializen... Dat lijkt mij best wel handig. Zomaar een voorbeeldje, het gaat mij er niet zozeer om of het handig is en wanneer, maar meer om het principe
Hét tegenargument is het object-als-hashmap principe van JS. Vaak word er dan een for(var x in y) laten zien, en 'kijk: het loopen werkt niet meer goed!'
Ik heb de search en Google gebruikt, maar kom niet echt veel nuttigs tegen. Wel websites van mensen als Dean Edwards die zeggen dat het streng verboden is, en bijvoorbeeld deze website. Het voorbeeld wat hij geeft is btw ook prima met hasOwnProperty() op te lossen
Tweede vraag: hoe gaan jullie om met het prototypen van andere objecten, zoals html elementen? Ik zie het eigenlijk bijna nooit, terwijl er imho wel wat in zit. Voorbeeld: je hebt een tabel, die je wilt kunnen sorteren. Waarom dan niet een HTMLTableElement.prototype.sort = ... ? Dat maakt je code volgens mij veel cleaner: table.sort() ipv sortTable(table). Ik kom wel topics tegen als deze: [purisme] prototypes / OO in JavaScript *, maar daar zie ik ook niet echt nadelen van betekenis...
Kortom: waarom word prototypen niet veel meer gebruikt? Is er echt wat mis mee, of is het enkel onbekendheid, of is er nog wat anders? Ik zou het zelf wel vaker willen gebruiken, maar ik wil eerst goed weten wat de nadelen zijn