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);Añadir propiedad a una instancia
Sección titulada «Añadir propiedad a una instancia»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.
Añadir propiedad a todas las instancias
Sección titulada «Añadir propiedad a todas las instancias»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.
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.