Artículos
Javascript

Creando clases en Javascript con apply

15/Dic/2010

Ayer veíamos que podíamos crear clases con Javascript mediante el método call. El método call nos permitía el invocar a múltiples constructores, reutilizando una estructura de clases coherentes.

Si bien, en Javascript contamos con otro método. El método .apply(). Este método, al fin y al cabo, viene a hacer lo mismo que hace el método .call(). Pero de otra forma.

Si recordamos, teníamos dos clases definidas DatosBasicos y Domicilio.

function datosbasicos(nombre,apellido,edad) {
  this.nombre = nombre;
  this.apellido = apellido;
  this.edad = edad;	
}

function domicilio(direccion,cp,ciudad){
  this.direccion = direccion;
  this.cp = cp;
  this.ciudad = ciudad;	
}

Y queríamos crear una clase Persona instanciando a los constructores de estas dos clases. El método .apply() nos permite hacer esto. Pero a diferencia del método .call(), .apply() recibe como parámetro el valor arguments. La variable arguments incluye todos los atributos de la clase que invoca.

Así, si definimos la clase Persona con .apply() sería de la siguiente forma:

function persona(nombre,apellido,edad,direccion,cp,ciudad){
	datosbasicos.apply(this,arguments);
	domicilio.apply(this,arguments);
}

Esto nos presenta un pequeño inconveniente, ya que deberemos de modificar DatosBásicos y Domicilio para que reciban todos los parámetros:

function datosbasicos(nombre,apellido,edad,direccion,cp,ciudad) {
  this.nombre = nombre;
  this.apellido = apellido;
  this.edad = edad;	
}

function domicilio(nombre,apellido,edad,direccion,cp,ciudad){
  this.direccion = direccion;
  this.cp = cp;
  this.ciudad = ciudad;	
}

Un pequeño inconveniente, pero que nos permite mantener la estructura de clases. Ahora ya solo te queda decidir cuál de los dos métodos en Javascript utilizar. Si .call() o .apply().

Código Fuente

Descárgate el código fuente de Creando clases en Javascript con apply
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Vídeos sobre Javascript

Disfruta también de nuestros artículos sobre Javascript en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Javascript

¿Te atreves a probar tus habilidades y conocimiento en Javascript con nuestro test?

Test Javascript
Suscribir
Notificar de
guest
2 Comentarios
Recientes
Anteriores Más votados
Opiniones integradas
Ver todos los comentarios