En javascript todo es un objeto, bueno, todo menos los primitivos. Los objetos pueden contener propiedades y métodos. Dichas propiedades no son más que variabes comunes como venimos viendo, solo que éstas en particular están asociadas a un objeto, convirtiéndose en propiedades, características del propio objeto. Los métodos en verdad también son propiedades o variables vinculadas a un objetos, pero se las llama métodos cuando estás representantan una función.
Podemos crear un nuevo objeto con el operador new a partir del Object de javascript
1 | const miObjeto = new Object() |
En la línea 1 creamos una nueva instancia del objeto Object y lo asignamos a la variable llamada miObjeto, y en la línea 3 evaluamos su tipo y vemos que nuestra variable es un objeto. En la línea 5 vemos que el valor de miObjeto está vacío.
Otro modo de crear un objeto es directamente con las llaves
1 | const miObjeto = {} |
De este modo tenemos los mismos resultados.
Ahora bien, hemos dicho que un objeto puede poseer propiedades. Estas porpiedades podemos asignarlas al inicalizar el ebjeto
1 | const miObjeto = new Object({color: 'rojo'}) |
o del otro modo
1 | const miObjeto = {color: 'rojo'} |
En ambos ejemplos creamos un objeto llamado miObjeto inicializándolo con la propiedad color cuyo valor es ‘rojo’.
Agregando y quitando propiedades
Una vez declarado un objeto, haya sido inicializado con propiedades o no, podemos agregar o quitarle propiedades del objeto.
Agregar una propiedad
1 | const miObjeto = {color: 'rojo'} |
En la línea 1 declaramos e inicializamos un objeto con una sola propiedad color, posteriormente en la línea 3 agregamos al objeto una nueva propiedad figura a la cual también le asignamos un valor. Finalmente al imprimirla vemos que hemos agregado la propiedad al objeto.
Eliminar una propiedad
Podemos eliminar una propiedad de un objeto con el operador delete
1 | const miObjeto = {color: 'rojo', figura: 'triangulo'} |
En la figura 1 creamos un objeto con doos propiedades, ‘color’ y ‘figura’, en la línea 3 con el operador delete eliminamos la propiedad ‘figura’. En la línea 5 evaluamos el valor del objeto y vemos que la propiedad ‘figura’ ha sido eliminada
Ahora bien, en el ejemplo anterior, en la línea 3 estamos accediendo a una propiedad con la notación de punto
Accediendo a las propiedades de un objeto
1 | const miObjeto = {color: 'rojo', figura: 'triangulo'} |
En la línea 1 creamos un objeto como lo venimos haciendo. En la línea 3 y 5 accedemos a las propiedades con el . e imprimimos su valor.
También podemos acceder a las propiedades de un objeto con la notación de corchetes
1 | const miObjeto = {color: 'rojo', figura: 'triangulo'} |
Vemos que podemos acceder a las propiedades de igual modo que con la notación de punto.
algunos metodos comunes
Object posée varios métodos a continuación veremos algunos de los más comunmente usados, para esto primero crearemos un objeto a partir del cual implementaremos los distintos métodos
1 | const mascota = { |
Nuestro objeto mascota tiene las propiedades tipo y nombre que son strings, edad es un number, vive boolean y tenemos el método saludar que recibe por argumento el sonido de la mascota en string.
assign
El método assign realiza una copia de las propiedades de uno o mas objetos y se las asigna a un nuevo objeto.
1 | const nuevoObjeto = Object.assign({}, mascota) |
Con el método assign de Object recibe dos argumentos, el primero en nuestro caso un objeto vacío que es en el que copiaremos las propiedades del objeto que pasamos por segundo argumento, este método retorna el objeto pasado por primer argumento con las propiedades asignadas
entries
Con el método entries obtenemos un array en donde cada elemento es el par clave-valor de cada propiedad del objeto. Este par es representado también en un array de dos elementos
1 | const entries = Object.entries(mascota) |
getOwnPropertyNames
El método getOwnPropertyNames nos devuelve un array con las “claves” de las propiedades
1 | const propiedades = Object.getOwnPropertyNames(mascota) |
values
El método values nos devuelve un array con los valores de las propiedades
1 | const values = Object.values(mascota) |