Bienvenido, soy Luis y hoy les traigo este artículo.
Esta es la cuarta publicación de mi serie sobre los prácticos métodos integrados de JavaScript para diferentes tipos de datos (los enlaces al resto de la serie se encuentran al final de esta publicación). Hay un montón de métodos prácticos listos para usar que se pueden usar para manipular datos, y explicaré algunos de los más útiles.
La publicación de hoy tratará sobre objetos JavaScript. Objeto puede ser un término un poco confuso, ya que puede referirse a cualquier tipo de datos complejos en JavaScript. Aquí nos estamos enfocando en objetos que se construyen con llaves y almacenan datos referenciados por claves. Por ejemplo, un objeto persona podría verse así:
const person = {firstName: "Tolani", lastName: "Benson"}
Los datos adjuntos a las claves pueden ser de cualquier tipo de datos, incluidas funciones, matrices y otros objetos anidados. Se puede acceder a los datos, agregarlos y editarlos usando notación de puntos o notación de corchetes:
person.city = "London" person["firstName"] = "Toli" person >> { firstName: Toli, lastName: "Benson", city: "London }
Veamos algunos de los métodos integrados más útiles para objetos JavaScript.
Índice
Métodos de objetos JavaScript
Object.keys (obj)
Devuelve una matriz de las claves que contiene el objeto. (Una versión más avanzada es Object.getOwnPropertyNames (obj) que también devuelve propiedades no enumerables, pero no entraré en esto aquí, leer los documentos para obtener más información sobre propiedades enumerables y no enumerables).
Object.values (obj)
Devuelve una matriz de los valores de cada uno de los elementos del objeto.
Object.entries(obj)
Devuelve una matriz que contiene matrices anidadas para cada par clave-valor. El primer elemento de cada matriz anidada es la clave y el segundo es el valor. P.ej:
obj = a: 1, b: "b", c: [3,4,5] Object.entries(obj) >> [["a",1], ["b","b"], ["c",[3,4,5]]
Object.fromEntries(arr)
Crea un nuevo objeto a partir de una matriz de pares clave-valor que se pasan como argumento. Devuelve el nuevo objeto.
Object.assign(target, source)
Agrega los pares clave-valor del elemento de origen al elemento de destino. Muta el elemento objetivo. El valor de retorno es el elemento de destino mutado. Si hay nombres de clave duplicados, los valores del destino se sobrescribirán con los valores con los mismos nombres de clave del elemento de origen.
Object.freeze(obj)
Evita que un objeto sea editado, lo hace inmutable. Es posible que haya notado que definí el objeto persona al principio como una constante, pero aún pude agregar nuevas propiedades y editar los valores de las propiedades existentes. Esto se debe a que los objetos apuntan a un punto específico en la memoria y la constante se refiere a la ubicación en la memoria del objeto, no al contenido. Utilizando Object.freeze puede evitar que se modifiquen los datos del objeto. Un intento de hacerlo fallará silenciosamente o en modo estricto arrojará un error. Sin embargo, vale la pena señalar que esto solo se aplica a un nivel de profundidad, así que tenga en cuenta que aún es posible cambiar los valores de los objetos anidados. El valor de retorno es el objeto que se congeló.
Object.isFrozen(obj)
Comprueba si el objeto pasado está congelado. Devuelve un booleano.
Object.seal(obj)
Una versión menos estricta de Object.freeze. Evita que se agreguen o eliminen propiedades de un objeto, pero se pueden cambiar los valores de las propiedades existentes. Devuelve el objeto que se está sellando.
Object.isSealed(obj)
Comprueba si el objeto pasado está sellado. Devuelve un booleano (también devolverá verdadero para los objetos que están congelados).
Object.preventExtensions(obj)
Evita que se agreguen nuevas propiedades a un objeto, pero las existentes se pueden editar y eliminar. Devuelve el objeto pasado.
Object.isExtensible(obj)
Comprueba si el objeto pasado puede tener nuevas propiedades agregadas. Devuelve un booleano.
Object.getOwnPropertyDescriptors(obj)
Para usuarios más avanzados. Devuelve un objeto que contiene objetos anidados que detallan la configuración de los descriptores (como valor, escribible, configurable, etc.) para cada clave / propiedad del objeto proporcionado.
Esta no es una lista exhaustiva, pero los casos de uso para los métodos de objetos JavaScript restantes son limitados. Eche un vistazo a MDN Docs si desea conocer algunos de los otros métodos de objetos más avanzados.
Gracias por leer.
Añadir comentario