Maison > interface Web > js tutoriel > Ombrage en JavaScript

Ombrage en JavaScript

WBOY
Libérer: 2024-08-29 13:40:34
original
331 Les gens l'ont consulté

Aperçu

Shadowing dans un concept spécial en JavaScript qui rend les méthodes appartenant à la classe parent redéfinissables dans la classe enfant.

Partons avec deux des jeux chouchous du 21e siècle et assez faciles à deviner, GTA et Red Dead Redemption, à moins que vous n'êtes pas fan des bangers du monde ouvert.

Shadowing in JavaScript

Revenant à notre sujet, je vais donner à GTA le rôle de classe parent et à RDR la place de classe enfant.

Code

class GTA {
  constructor() {
    this.openWorld = {};
  }

  addFeature(feature, value) {
    this.openWorld[feature] = value;
    return this.openWorld[feature];
  }
}

class RDR extends GTA {
  addFeature(feature) {
    super.addFeature(feature, true);  // Calls the parent class' method and adds the feature
    return true;
  }
}

var role = new RDR();
console.log(role.addFeature('ROLE_PLAYER'));  // This will return true
console.log(role.openWorld);  // This will now have 'ROLE_PLAYER' added to it with value true
Copier après la connexion

Explication:

super.addFeature(feature, true) appelle la méthode addFeature dans la classe GTA, ajoutant la fonctionnalité à l'objet openWorld.

La méthode addFeature dans RDR renvoie vrai, mais elle garantit également que ROLE_PLAYER est ajouté à l'objet openWorld.

Shadowing in JavaScript

Note de clôture

On dirait que ROLE_PLAYER vient de s'aventurer dans le monde ouvert et sauvage avec une valeur de vrai. J'espère qu'ils sont prêts à affronter les bugs qu'ils rencontreront : c'est un jeu en monde ouvert, après tout !

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:dev.to
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal