Mostrar atributos de una clase [SOLUCIONADO]

Visualización de Propiedades en Objetos de JavaScript

En la programación con JavaScript, un aspecto fundamental en el manejo de objetos es la capacidad de acceder y mostrar sus propiedades o atributos. Un objeto puede verse como una colección de datos y funcionalidades, donde cada dato se asocia a una propiedad del mismo. Para entender la estructura de un objeto y cómo trabajar con ella, es esencial tener herramientas que nos permitan inspeccionar y listar dichas propiedades.

Veamos cuáles son los métodos que nos ofrece JavaScript para explorar los atributos de un objeto y cómo podemos aplicarlos de manera efectiva.

Acceso Tradicional al Atributo de un Objeto

Antes de profundizar en cómo mostrar todos los atributos, es importante recordar cómo accedemos a un atributo específico de un objeto. Se hace mediante la notación punto o la notación de corchetes.

            const objeto = {
                nombre: 'ObjetoDemo',
                tipo: 'Demostración',
            }
            // Notación punto
            console.log(objeto.nombre); // ObjetoDemo
            // Notación de corchetes
            console.log(objeto['tipo']); // Demostración
        


Enumerando Propiedades con for…in

El bucle for…in se utiliza en JavaScript para recorrer todas las propiedades enumerables de un objeto. Este método permite visualizar no sólo las propiedades directas del objeto, sino también aquellas heredadas a través de la cadena de prototipos.

            const objetoDemo = {
                nombre: 'ObjetoDemo',
                tipo: 'Demostración',
                activo: true,
            }
        
            for (let propiedad in objetoDemo) {
                console.log(propiedad + ': ' + objetoDemo[propiedad]);
            }
        


Uso de Object.keys() para Obtener Claves

La función Object.keys() retorna un arreglo con todos los nombres de las propiedades enumerables de un objeto. Con este arreglo, podemos iterar sobre él y mostrar el valor de cada propiedad.

            const objetoDemo = {
                nombre: 'ObjetoDemo',
                tipo: 'Demostración',
                activo: true
            }
        
            const propiedades = Object.keys(objetoDemo);
            propiedades.forEach((propiedad) => {
                console.log(propiedad + ': ' + objetoDemo[propiedad]);
            });
        

Esta funcionalidad es especialmente útil cuando queremos operar únicamente con las propiedades del objeto y no con las heredadas.

Obtener Valores de Propiedades con Object.values()

De manera similar a Object.keys(), el método Object.values() devuelve un arreglo que contiene los valores de todas las propiedades enumerables del objeto en cuestión, permitiendo listar fácilmente los datos que almacena.

            const objetoDemo = {
                nombre: 'ObjetoDemo',
                tipo: 'Demostración',
                activo: true
            }
        
            const valores = Object.values(objetoDemo);
            valores.forEach((valor) => {
                console.log(valor);
            });
        


Combinación de Object.entries() para Claves y Valores

El método Object.entries() lleva las cosas un paso más allá al devolver un arreglo de arreglos, donde cada uno de estos sub-arreglos representa un par [clave, valor] de las propiedades enumerables del objeto. Proporciona una manera estructurada de acceder tanto a la clave como al valor.

            const objetoDemo = {
                nombre: 'ObjetoDemo',
                tipo: 'Demostración',
                activo: true
            }
        
            const entradas = Object.entries(objetoDemo);
            entradas.forEach(([clave, valor]) => {
                console.log(clave + ': ' + valor);
            });
        


Refinando la Visibilidad con Object.getOwnPropertyNames()

Otra herramienta a nuestra disposición es Object.getOwnPropertyNames(). Este método regresa un arreglo que contiene los nombres de todas las propiedades propias del objeto (no las heredadas) independientemente de si son enumerables o no.

            const objetoDemo = Object.create({heredada: 'Heredada'}, {
                nombre: {
                    value: 'ObjetoDemo',
                    enumerable: true
                },
                tipo: {
                    value: 'Demostración',
                    enumerable: false
                }
            });
        
            const propNames = Object.getOwnPropertyNames(objetoDemo);
            propNames.forEach((nombre) => {
                console.log(nombre + ': ' + objetoDemo[nombre]);
            });
        

Este método es particularmente útil cuando necesitamos trabajar con propiedades que pueden no ser enumerables a primera vista y, por ende, no serían listadas con for…inst u Object.keys().

Conclusión

Exhibir los atributos de un objeto en JavaScript es una tarea común y necesaria en muchas facetas del desarrollo. Las técnicas y métodos descritos ofrecen desde funcionalidades muy básicas y directas hasta algunas más avanzadas y completas. Conocer y saber cuándo y cómo usar cada uno de estos métodos nos permitirá un manejo más eficiente y adecuado de los objetos en nuestros proyectos de programación.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad