JSFiddle - React, Tailwind, and code Playground
JavaScript
// 1 - La fonction non-prototype 'setName()' du parent est prioritaire sur le fils
// Donc : il est dangereux d'utiliser les fonctions placées hors-prototype
// -> résultat : on impose des fonctions communes à toutes les 'occurences' d'une classe'.
// -> On rigidifie la sctructure des données de javascript.
//
// 2 - Lorsqu'on ajoute une variable au père durant le run-time -> elle n'est pas reconnue par le fils
// Donc les fonctions sont modifables dans le run-time, mais pas les variables.
var UserPrototypeP = (function () {
function UserPrototypeP() {
this.getName = function() {
return this.nameP;
};
this.setName = function(n) {
this.nameP = n+"proto";
};
};
return UserPrototypeP;
})();
var __extends = this.__extends || function (d, b) {
console.log(b);
for (var p in b) {
if (b.hasOwnProperty(p)) d[p] = b[p];
}
function __() { this.constructor = d; }
__.prototype = b.prototype;
d.prototype = new __();
};
var UserPrototype = (function (_super) {
__extends(UserPrototype, _super);
function UserPrototype() {
_super.call(this);
this.name = "Dave";
};
UserPrototype.prototype.getName = function() {
return this.name;
};
UserPrototype.prototype.setName = function(n) {
this.name = n;
};
return UserPrototype;
})(UserPrototypeP);
//Test 1
var newUsera = new UserPrototype(); //ici
// La fonction du père est prioritaire sur le fils.
newUsera.setName("tata");
document.write("setName: '" + newUsera.getName() + "'<br>");
var newUserP = new UserPrototypeP(); //ici
newUserP.pseudo = "meP";
UserPrototypeP.prototype.getPseudo=function(){return this.pseudo;}
// ne récupère pas la variable du père
document.write("peudo proptotype: '" +...