¿Para qué se utilizan .extend y .prototype?

Extender:

El método extendido de JavaScript/jQuery copia todas las propiedades del objeto de origen al objeto de destino. El uso principal del método extender es en declaraciones de clase con el propósito de crear una clase (subclase) que sea hija de otra clase padre (superclase). Se puede usar para subclasificar tanto los objetos integrados como las clases definidas por el usuario (personalizadas).

Sintaxis:

class child_class extends parent_class { 
    // class definition goes here
}

Ejemplo:

Javascript

// Parent Class
class Animal {
  
  constructor(name) {
    this.name = name;
  }
}
  
// Child Class
class Dog extends Animal {
  
  constructor(name) {
    // the super keyword to used to call 
    // the constructor of the parent class
    super(name); 
    this.name = name;
  }
}

Prototipo:

La propiedad prototipo es una característica única del lenguaje JavaScript. La propiedad prototipo actúa como miembro de los objetos. Su uso principal es permitir la adición de nuevas propiedades (miembros o funciones) a los constructores de objetos. También se utiliza para heredar características de uno a otro. La necesidad de creación de prototipos surge porque JavaScript no permite agregar nuevas propiedades a un constructor de objetos existente.

Sintaxis:

ClassName.prototype.property = value;

// For class members:
ClassName.prototype.member_name = member_value; 

// For class methods:
ClassName.prototype.function_name = function() {
    // function definition
};

Ejemplo:

Javascript

class Employee {
  
    let firstName;
     let lastName;
  
    // constructor
    Employee (first, last) {
        this.firstName = first;
        this.lastName = last;
    }
}
  
// add class data member
Employee.prototype.email = "example@gmail.com";
  
// add class member function
Employee.prototype.fullName = function() {
      return this.firstName + " " + this.lastName;
};

Publicación traducida automáticamente

Artículo escrito por verma_anushka y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *