JSFiddle - React, Tailwind, and code Playground
JavaScript
// http://daniel.steigerwald.cz (MIT Licensed)
var Animal = function(name) {
this.name = name;
};
Animal.prototype = {
getName: function() {
return this.name;
}
};
var mici = new Animal('Mici');
var kevi = new Animal('Kevi');
alert(mici.getName()); // Mici
alert(kevi.getName()); // Kevi
// chci přidat syntax sugar metodu
Animal.prototype.alertName = function() {
alert(this.getName());
};
// hle!, metoda se přidala k již existující instanci
mici.alertName();
// chci změnit getName
Animal.prototype.getName = function() {
return 'Mé jméno je: ' + this.name;
};
// ha!, metoda se změnila všem existujícím instancím
kevi.alertName();
// důkaz, že metody jsou sdílené
alert(mici.getName === kevi.getName); // true
alert(mici.getName === Animal.prototype.getName); // true