Descubre cómo usar Object.getOwnPropertyNames() en JavaScript
Aprende a obtener los nombres de las propiedades de un objeto con esta función útil
La función Object.getOwnPropertyNames() es una herramienta valiosa en el lenguaje de programación JavaScript que permite obtener una lista de nombres de las propiedades propias de un objeto. Esto puede ser útil en situaciones donde necesitas acceder a los nombres de las propiedades de un objeto, como al trabajar con objetos complejos o heredados.
Ejemplo 1: Obtener propiedades propias de un objeto
const obj = {
name: 'John',
age: 25,
city: 'New York'
};
const ownProps = Object.getOwnPropertyNames(obj);
console.log(ownProps); // Output: ['name', 'age', 'city']
En este ejemplo, se utiliza Object.getOwnPropertyNames() para obtener las propiedades propias del objeto «obj». La función devuelve un array con los nombres de las propiedades propias del objeto, que en este caso son ‘name’, ‘age’ y ‘city’.
Ejemplo 2: Comprobar si un objeto tiene una propiedad específica
const person = {
name: 'John',
age: 25,
city: 'New York'
};
const propertyName = 'city';
if (Object.hasOwnProperty.call(person, propertyName)) {
console.log(`La propiedad ${propertyName} está presente en el objeto`);
} else {
console.log(`La propiedad ${propertyName} no está presente en el objeto`);
}
// Output: La propiedad city está presente en el objeto
En este ejemplo, se utiliza Object.hasOwnProperty.call() para comprobar si el objeto «person» tiene la propiedad ‘city’. Si la propiedad existe, se muestra un mensaje indicando que está presente en el objeto; de lo contrario, se muestra un mensaje indicando que no está presente.
Ejemplo 3: Iterar sobre las propiedades propias de un objeto
const obj = {
name: 'John',
age: 25,
city: 'New York'
};
Object.getOwnPropertyNames(obj).forEach((prop) => {
console.log(`La propiedad ${prop} tiene el valor: ${obj[prop]}`);
});
// Output:
// La propiedad name tiene el valor: John
// La propiedad age tiene el valor: 25
// La propiedad city tiene el valor: New York
En este ejemplo, se utiliza Object.getOwnPropertyNames() para obtener los nombres de las propiedades propias del objeto «obj». Luego, se utiliza forEach() para iterar sobre cada propiedad y mostrar su nombre y valor.
Ejemplo 4: Comprobar si un objeto es propio de otro objeto
const person = {
name: 'John',
age: 25,
city: 'New York'
};
const anotherPerson = Object.create(person);
anotherPerson.job = 'Developer';
if (Object.hasOwnProperty.call(anotherPerson, 'name')) {
console.log('La propiedad name es propia de otro objeto');
} else {
console.log('La propiedad name no es propia de otro objeto');
}
// Output: La propiedad name no es propia de otro objeto
En este ejemplo, se crea un nuevo objeto «anotherPerson» utilizando Object.create(), que hereda las propiedades del objeto «person». Luego, se utiliza Object.hasOwnProperty.call() para comprobar si la propiedad ‘name’ es propia de «anotherPerson». Si la propiedad existe, se muestra un mensaje indicando que no es propia de otro objeto; de lo contrario, se muestra un mensaje indicando que sí es propia de otro objeto.
Ejemplo 5: Obtener las propiedades propias de una función
function myFunction() {
// Código de la función
}
const functionProps = Object.getOwnPropertyNames(myFunction);
console.log(functionProps); // Output: ['name', 'length']
En este ejemplo, se utiliza Object.getOwnPropertyNames() para obtener las propiedades propias de la función «myFunction». La función tiene dos propiedades propias: ‘name’ y ‘length’.
Conclusión
Utilizar Object.getOwnPropertyNames() en tus proyectos puede ayudarte a manejar y depurar el código de manera más eficiente. Asegúrate de entender su comportamiento y sus límites, y no dudes en integrarla en tus proyectos futuros para mejorar la calidad y legibilidad de tu código.

