Agregar Propiedades a un Objeto JavaScript - Mullin Stack
Better code – Better human
Better code – Better human

Agregar Propiedades a un Objeto JavaScript

Seguimos empilados  con la serie de  métodos comunes y muy utiles en JavaScript, ahora explicaremos en detalle y veremos  un ejemplo sobre el uso del método defineProperty, el cual nos servirá para agregar o modificar propiedades en nuestros objetos JavaScript. Básicamente este método nos permite la adición o modificación de una propiedad en un objeto ; retornando el objeto con sus modificaciones.

Su sintaxis es:

Object.defineProperty(obj,propiedad,descriptor);

Parámetros:

obj: Objeto al cual se le va a definir la propiedad.

propiedad: El nombre de la propiedad a ser definida o modificada

descriptor: Es un objeto que describe/representa las nuevas propiedades del objeto actual.

Problema:

Dado un objeto que tiene la propiedad ‘nombre’ y ‘apellido’ crear una función que retorne una nueva propiedad llamada ‘nombreCompleto’ cuyo valor sera una cadena (unión de las propiedades ‘nombre’ y ‘apellido’ , separadas por un espacio).

 

Solucion:

//Definimos el objeto 'persona'
var persona:{
nombre:'blarz',
apellido:'Hernandez'
}
//Creamos la función
function agregarPropiedadNombreCompleto(obj){
return Object.defineProperty(obj,'nombreCompleto',{value:obj.nombre +' '+ obj.apellido});
}

//Llamada a la funcion
var objeto = agregarPropiedadNombreCompleto(persona);
//Salida
/*Object{
nombre:'blarz',
apellido:'Hernandez',
nombreCompleto:'blarz Hernandez'
}*/

Explicación

La función recibe como parámetro un objeto (‘obj’) cuyas propiedades iniciales son ‘nombre’ y ‘apellido’. Al método ‘definedProperty’ le pasamos como primer parámetro el objeto (‘persona’) , el segundo parámetro sera la propiedad solicitada (‘nombreCompleto’) y por ultimo le pasamos un objeto con la propiedad ‘value’ cuyo valor estará compuesto por los datos que vengan de las dos propiedades (‘nombre’ y ‘apellido’) presentes en el objeto inicial.

Ahora si hacemos la llamada a la función y le pasamos el objeto (‘persona’)  ya no solo tendrá las propiedad ‘nombre’ y ‘apellido’ sino una tercera llamada ‘nombreCompleto’.

Desafió

Dado dos objetos (obj1 y obj2 ) y una clave (clave), crea una función que agregue una nueva propiedad en el primer objeto (obj1) con la clave dada.

function agregarPropiedadAObjeto(obj1,clave,obj2){
//Tu codigo aqui.
}

 

 

Como siempre GRACIAS por leer y seguir mi blog. No olviden dejar su solución en los  comentarios y sus aportes.

Leave a comment

Your email address will not be published.