Ir al contenido

Crear propiedades dinámicas en Javascript

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.

function Persona(nombre,apellidos,edad) {
this.nombre = nombre;
this.apellidos = apellidos;
this.edad = edad;
}
var p1 = new Persona("Luis","Jiménez",23);

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:

p1.ciudad = "Avila";

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:

var p2 = new Persona("María","Gutierrez",35);
document.write(p2.ciudad);

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:

Persona.prototype.ciudad = "Avila";

Así el siguiente código:

var p2 = new Persona("María","Gutierrez",35);
document.write(p2.ciudad);

Ya devolverá “Avila” como respuesta.

Foto de Víctor Cuervo

Víctor Cuervo

Programador, Arquitecto IT, álter ego de Línea de Código, amante de las tecnologías, generador de conocimiento y facilitador del aprendizaje.

Descarga el código de Crear propiedades dinámicas en Javascript

Cómo poder crear propiedades dinámicas en Javascript y dotar así de nueva funcionalidad a nuestros objetos.

Descargar código