Maison > interface Web > js tutoriel > Comment le « .prototype » de JavaScript permet-il l'héritage sans classes ?

Comment le « .prototype » de JavaScript permet-il l'héritage sans classes ?

Patricia Arquette
Libérer: 2024-12-29 00:18:14
original
490 Les gens l'ont consulté

How Does JavaScript's `.prototype` Enable Inheritance Without Classes?

JavaScript .prototype : Démêler l'héritage sans classes

JavaScript, contrairement aux langages basés sur les classes, adopte un paradigme basé sur des prototypes. Cette approche favorise la création dynamique d'objets et l'héritage de propriétés sans définir explicitement les classes. Comprendre l'énigmatique propriété .prototype est crucial pour naviguer dans ce modèle de programmation.

Contrairement à l'héritage classique, où les objets sont instanciés à partir de plans appelés classes, JavaScript génère des objets directement à partir d'autres objets. La propriété .prototype joue un rôle central dans ce processus, agissant comme un modèle pour les nouvelles instances.

Considérez l'extrait de code suivant :

var Person = { name: "John" };
var person2 = new Person;
person2.getName = function() { alert(this.name); };
Copier après la connexion

Dans cet exemple, Person est un objet représentant une personne avec une propriété de nom. La ligne new Person crée un nouvel objet person2, qui hérite de la propriété name de Person.

L'information clé réside dans la propriété .prototype. Chaque objet en JavaScript possède une propriété .prototype, qui est un objet lui-même. Lorsqu'un nouvel objet est créé, sa propriété .prototype pointe vers l'objet à partir duquel il a été créé.

Dans notre exemple, la propriété .prototype de person2 ferait référence à Person. Cela permet à person2 d'hériter des propriétés et des méthodes définies dans Person.prototype.

Notre exemple de code démontre cet héritage en définissant dynamiquement une fonction getName sur person2.prototype. Puisque person2 hérite de Person, il a accès à cette fonctionnalité supplémentaire.

L'héritage basé sur un prototype de JavaScript permet une utilisation efficace de la mémoire, réduit la duplication de code et facilite la manipulation dynamique des objets.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal