Prototype
CJay
- javascript
Hallo Forum.
Ich hätte eine Frage bezüglich des Javascript Objekt Prototype.
Und zwar kann man es auch so in der Art schreiben?
Object.prototype= {
indexOf:function(){
}
}
anstatt jedesmal:
Object.prototype.indexOf= function(){
}
zu schreiben?
Lieber CJay,
Und zwar kann man es auch so in der Art schreiben?
hast Du es ausprobiert? Was hat Dir Deine JS-Fehlerkonsole gesagt?
Liebe Grüße,
Felix Riesterer.
Hallo,
Und zwar kann man es auch so in der Art schreiben?
Object.prototype= {
indexOf:function(){}
}
> anstatt jedesmal:
> ~~~javascript
> Object.prototype.indexOf= function(){
> }
>
zu schreiben?
Ja, kann man – allerdings hat das gewisse Auswirkungen. Ob man die in Kauf nehmen will, hängt vom konkreten Fall ab.
Zum Vergleich:
1. Konstruktor.prototype.eigenschaft = wert;
2. Konstruktor.prototype = {…};
Diese Unterschiede spielen nicht unbedingt eine Rolle. Wenn du nirgends auf die constructor-Eigenschaft zugreifst, keine besondere Vererbung aufsetzt und vorher keine Instanzen erzeugst, kannst du die prototype-Eigenschaft überschreiben.
Andernfalls ist die Schreibweise Konstruktor.prototype.eigenschaft = wert
vielseitiger und defensiver.
Hintergrund:
http://molily.de/javascript-core/
http://molily.de/js/organisation-instanzen.html
http://molily.de/weblog/javascript-pseudoklassen
http://www.2ality.com/2012/01/js-inheritance-by-example.html
http://www.2ality.com/2013/01/two-prototypes.html
Grüße,
Mathias