2 min de lectura

Función Prototype

En JavaScript se pueden añadir propiedades además de métodos a una clase gracias a funciones constructoras. Entre ellas existe arguments, arity, caller, constructor, prototype, name, entre otras, pero por ahora hablaremos de Prototype.

Esta propiedad es del tipo object y gracias a esto es heredada por todos los objetos, de esta manera podremos darles nuevos métodos y/o propiedades a cualquier objeto.

Ejemplo paso a paso con prototype

Veamos cómo hacer que esta propiedad funcione:

Un ejemplo con el que vamos a trabajar es una función vacía a la cual después le agregaremos la propiedad Prototype

Agregar propiedades usando prototype

Mediante la función prototype nos será posible convertir la función anterior en un constructor, con ello le agregaremos las dos primeras propiedades que contendrá que serán un par de variables, estas serán los valores por defecto de las dos propiedades que contendrá nuestra función.

Primero declaramos las variables:

y después usamos la propiedad prototype para asignarle estas variables a nuestra función, además separado por un punto tenemos que darle nombres a dichas propiedades, en este caso les llamaremos v1 y v2:

De este modo al usar nuestra función como un constructor, se obtendrán las anteriores variables declaradas en el objeto:

 

De este modo numeros_a_sumar tendrá las variables v1 y v2 con un valor inicial de 0.

De este modo podría usarse para guardar el par de variables mediante un formulario y así sumarlas por ejemplo en nuestra página web.

Agregar nuevos métodos usando prototype

Para asignar un nuevo método con prototype se hace igual que al asignar variables, primero hay que declararla:

Ahora que tenemos la función la agregamos a la clase sumar:

ahora dentro de nuestra clase tenemos un método llamado sumarDosNumeros que suma a partir de las propiedades v1 y v2 , a estas se les pondrá el valor de los números a sumar.

Aquí el ejemplo en GitHub

 

Deja tus comentarios

This site uses Akismet to reduce spam. Learn how your comment data is processed.