Heim > Artikel > Web-Frontend > Shadowing in JavaScript
Shadowing in einem speziellen Konzept in JavaScript, das die zur übergeordneten Klasse gehörenden Methoden in der untergeordneten Klasse neu definierbar macht.
Lassen Sie uns mit zwei der Lieblingsspiele des 21. Jahrhunderts beginnen, die ziemlich leicht zu erraten sind: GTA und Red Dead Redemption, es sei denn, Sie sind kein Fan von Open-World-Knallern.
Zurück zu unserem Thema: Ich werde GTA die Rolle der übergeordneten Klasse zuweisen und RDR den Platz der untergeordneten Klasse einnehmen.
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
super.addFeature(feature, true) ruft die addFeature-Methode in der GTA-Klasse auf und fügt das Feature zum openWorld-Objekt hinzu.
Die addFeature-Methode in RDR gibt true zurück, stellt aber auch sicher, dass ROLE_PLAYER zum openWorld-Objekt hinzugefügt wird.
Sieht so aus, als wäre ROLE_PLAYER gerade mit dem Wert „true“ in die wilde offene Welt geritten. Ich hoffe, sie sind bereit für die Fehler, denen sie begegnen werden – es ist schließlich ein Open-World-Spiel!
Das obige ist der detaillierte Inhalt vonShadowing in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!