Crear métodos dinámicamente en Javascript
Si ayer veíamos que podíamos crear propiedades dinámicas en Javascript hoy veremos como crear métodos dinámicamente en Javascript. Y es que el procedimiento es el mismo para este caso y volveremos a apoyarnos en la sentencia prototype para poder crear métodos dinámicamente.
Definir la clase
Sección titulada «Definir la clase»Lo primero definir una clase… volvemos a utilizar nuestra clase rectángulo:
function Rectangulo(base, altura) { this.base = base; this.altura = altura;}Instanciar los objetos
Sección titulada «Instanciar los objetos»E instanciamos dos elementos de la clase rectángulo:
var rectangulo1 = new Rectangulo(2, 3);var rectangulo2 = new Rectangulo(4, 2);En este momento solo podemos acceder a las propiedades base y altura.
Crear el método dinámicamente
Sección titulada «Crear el método dinámicamente»Así que pasamos a crear un método calcularArea dinámicamente:
Rectangulo.prototype.calcularArea = function() { return this.base * this.altura;}Vemos que hemos utilizado la sentencia prototype, con lo cual conseguimos que se defina dinámicamente el método para todas las instancias de rectángulo. Si no utilizasemos prototype se definiría el método dinámicamente solo para la instancia a la que se lo aplicásemos.
Ejecutar el método
Sección titulada «Ejecutar el método»Ahora ya podemos ejecutar el método sobre las dos instancias del objeto:
console.log(rectangulo1.calcularArea());console.log(rectangulo2.calcularArea());Descarga el código de Crear métodos dinámicamente en Javascript
Cómo poder crear métodos dinámicamente en Javascript para asignar más funcionalidades a una clase.