"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Sombreado en JavaScript

Sombreado en JavaScript

Publicado el 2024-11-08
Navegar:936

Descripción general

Sombreado en un concepto especial en JavaScript que hace que los métodos que pertenecen a la clase principal sean redefinibles en la clase secundaria.

Vayamos con dos de los juegos favoritos del siglo XXI que son bastante fáciles de adivinar, GTA y Red Dead Redemption, a menos que no seas fanático de los éxitos del mundo abierto.

Shadowing in JavaScript

Volviendo a nuestro tema, le daré a GTA el rol de Clase para padres y RDR tomará el lugar de Clase para niños.

Código

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

Explicación:

super.addFeature(feature, true) llama al método addFeature en la clase GTA, agregando la característica al objeto openWorld.

El método addFeature en RDR devuelve verdadero, pero también garantiza que ROLE_PLAYER se agregue al objeto openWorld.

Shadowing in JavaScript

Nota de cierre

Parece que ROLE_PLAYER acaba de viajar al salvaje mundo abierto con un valor verdadero. Espero que estén preparados para los errores que encontrarán: ¡después de todo, es un juego de mundo abierto!

Declaración de liberación Este artículo se reproduce en: https://dev.to/alimalim77/shadowing-in-javascript-12ci?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3