Conseils Web front-end : héritage js - héritage de la chaîne de prototypes

Entrez une description de l'image

Héritage de la chaîne prototype

L'héritage de chaîne de prototypes est un moyen d'implémenter l'héritage en JavaScript, qui implémente la relation d'héritage entre les objets à l'aide de prototypes.

En JavaScript, chaque objet a un prototype (prototype), qui est une référence à un autre objet. Lorsque nous accédons aux propriétés d'un objet, si l'objet lui-même n'a pas la propriété, il ira à son prototype pour le trouver, s'il n'existe pas sur le prototype, il continuera à chercher le prototype supérieur jusqu'à ce qu'il trouve le propriété ou atteint le sommet de la chaîne de prototypes.

L'héritage de la chaîne prototype consiste à utiliser les caractéristiques de cette chaîne prototype pour réaliser l'héritage. Les étapes spécifiques sont les suivantes :

  1. Créez un constructeur de classe parent et définissez les propriétés et les méthodes de la classe parent.
  2. Créez un constructeur de sous-classe et faites pointer son objet prototype vers une instance de la classe parent.
  3. Ajoutez des propriétés et des méthodes spécifiques à la sous-classe dans le constructeur de la sous-classe.
// 1
function Parent() {
    
    
  this.arr = [1,2,3]
}
Parent.prototype.getArr = function() {
    
    
  return this.arr
}

// 2
function Child() {
    
    
  this.name = 'Child'
}
Child.prototype = new Parent()

// 3
Child.prototype.getName = function() {
    
    
  return this.name
}

// 实例化
var child = new Child()
child.getName() // 'Child'
child.getArr() // [1,2,3]

Au cours des étapes ci-dessus, nous avons réalisé que la sous-classe hérite des propriétés et des méthodes de la classe parente et peut ajouter ses propres propriétés et méthodes uniques dans la sous-classe. De cette façon, lorsque nous créons une instance d'une sous-classe, elle cherchera d'abord des propriétés et des méthodes en elle-même, et si elle n'est pas trouvée, elle la cherchera sur le prototype de la classe parente, réalisant ainsi l'héritage.

avantage

L'avantage de la méthode d'héritage de chaîne prototype est qu'elle est simple .

défaut

Un inconvénient de l'utilisation de l'héritage de chaîne de prototypes est que toutes les instances de sous-classe partagent la même instance de classe parente, ce qui peut entraîner une interaction entre les instances de sous-classe.

child.arr.push(4)
child.getArr() // [1,2,3,4]

var child2 = new Child()
child2.gerArr() // [1,2,3,4],想要的结果应该是[1,2,3]

De plus, si la sous-classe doit passer des paramètres au constructeur de la classe parent, cela ne peut pas être réalisé en appelant directement le constructeur de la classe parent, et les paramètres doivent passer par un processus intermédiaire.

épilogue

Main dans la main continue de partager toutes sortes de connaissances et de logiciels avec vous, bienvenue pour visiter, suivre, discuter et laisser votre cœur prudent❤

Je suppose que tu aimes

Origine blog.csdn.net/weixin_58582793/article/details/131922598
conseillé
Classement