Crear propiedades dinámicas en Javascript

26/Sep/2010 JavaScript , 3 Comentarios

Una de las cosas que podemos hacer con los objetos en Javascript es crear propiedades de forma dinámica. Por ejemplo, podemos tener una definición de objeto persona con nombre, apellido y edad.

  1. function persona(nombre,apellido,edad){
  2. this.nombre = nombre;
  3. this.apellido = apellido;
  4. this.edad = edad;
  5. }

Sobre esta definición estática añadiremos una nueva propiedad de forma dinámica. Es decir, dinámicamente añadiremos la propiedad ciudad. Esto lo podríamos hacer de la siguiente forma:

  1. var p1 = new persona("victor","cuervo","32");
  2. persona.ciudad = "Avila";
  3.  

El problema de utilizar esta forma de crear propiedades dinámicas en Javascript es que solo será para la instancia a la que se lo hemos añadido. Así, el siguiente código:

  1. var p2 = new persona("isabel","herrero","40");
  2. document.write(persona.ciudad);
  3.  

Nos devolvería "undefined" ya que la propiedad ciudad solo se añadió para p1.

Si queremos crear una propiedad dinámica que sea aplicable a todas las instancias deberemos de utilizar la sentencia prototype de la siguiente forma:

  1. var p1 = new persona("victor","cuervo","32");
  2. persona.prototype.ciudad = "Avila";
  3.  

Así el siguiente código:

  1. var p2 = new persona("isabel","herrero","40");
  2. document.write(persona.ciudad);
  3.  

Ya devolverá "Avila" como respuesta.

Vídeos sobre Javascript


Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D

3 comentarios en “Crear propiedades dinámicas en Javascript”

Víctor Cuervo

Jose

Muy buena la explicación, pero ahora me gustaría saber como hacer para mostrar un listado con todas las personas creadas, o sea, que apareciera en pantalla, el contenido de p1,p2,p3,p4,etc.

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*