//Eloquent JS object snippet 7
/*Il est important de retenir que prototype et
constructeur ne sont pas synonymes. Un constructeur \
est une fonction, son prototype est "Function.prototype"
vous pouvez le trouver en utitisant la methode
Object.getPrototypeOf(). Le prototype qu'elle "contient"
n'est pas son prototype mais le prototype des instances
d'objet crees a partir d'elle. De meme evidemment
le constructeur n'est pas le prototype des
instances d'objet qu'il construit.
Quand une propriete se trouve dans le prototype et
qu'on ajoute a l'objet une propriete propre qui porte
le meme nom, le prototype n'en est pas affecte.
exemple:*/
function Rabbit(type) {
this.type = type;
}
var killerRabbit = new Rabbit("killer");
var blackRabbit = new Rabbit("black");
console.log(blackRabbit.type);
//attention ca commence!
//d'abord on va utiliser ce fameux prototype
//des instances
Rabbit.prototype.teeth = "small";
console.log(killerRabbit.teeth);
//ensuite on va donner a une instance une propriete
//homonyme
killerRabbit.teeth = "long, sharp, and bloody";
console.log(killerRabbit.teeth);
//puis on va constater que ca n'a affecte ni les autres
//instances, ni le prototype (ca revient au meme).
console.log(blackRabbit.teeth);
console.log(Rabbit.prototype.teeth);
Be the first to comment
You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.