J'ai lu sur le javascript prototype chaînage et, comme je l'ai compris, il y a un Object.prototype
global qui est la base pour d'autres prototypes, tels que Array.prototype
, qui peut être la base pour un autre prototype. Tout comme l'héritage dans la POO basée sur les classes. C'est très bien.javascript prototypage chaînage - obtenir le parent du parent de
Maintenant, je veux vérifier et comparer des prototypes d'objets distincts. Si le prototype de Array
est basé sur Object.prototype
, je suppose que quelque chose comme Array.prototype.prototype
devrait être possible. Mais il est indéfini:
> Array.prototype.prototype
undefined
Et quand je tape __proto__
au lieu de prototype
, je reçois:
> Array.__proto__
[Function: Empty]
> Object.__proto__
[Function: Empty]
> Array.__proto__.__proto__
{}
(sortie de la console est prise de nodejs). J'ai des questions suivantes:
- comment puis-je accéder au «prototype parent» d'un prototype? Quelle est la différence entre
prototype
et__proto__
?
Pas exactement. 'Array.prototype' lui-même est" * le même que le '__proto__' d'une instance de tableau *", pas son prototype. – Bergi
@Bergi Si c'est à propos du commentaire qui était sur mon premier bloc de code, vous avez raison. Supprimé – bfavaretto