El método Object.getOwnPropertyNames() en JavaScript es un objeto integrado estándar que devuelve todas las propiedades que están presentes en un objeto determinado.
Sintaxis:
Object.getOwnPropertyNames(obj)
Parámetros: este método acepta un solo parámetro como se mencionó anteriormente y se describe a continuación:
- obj: este parámetro contiene el objeto cuyas propiedades enumerables y no enumerables se devolverán.
Valor devuelto: este método devuelve una array de strings que corresponde a las propiedades encontradas directamente en el objeto dado.
Los siguientes ejemplos ilustran el método Object.getOwnPropertyNames() en JavaScript:
Ejemplo 1:
javascript
const gfg = { val1: "Geek1", val2: "Geek2", val3: "Geek3", val4: "Geek4" }; console.log(Object.getOwnPropertyNames(gfg)); var gfg2 = { val1: 'Geek1', val2: 'Geek2', val3: 'Geek3' }; console.log(Object.getOwnPropertyNames(gfg2).sort()); Object.getOwnPropertyNames(gfg2). forEach(function(val, idx, array) { console.log(val + ' -> ' + gfg2[val]); });
Producción:
Array ["val1", "val2", "val3", "val4"] Array ["val1", "val2", "val3"] "val1 -> Geek1" "val2 -> Geek2" "val3 -> Geek3"
Ejemplo 2:
javascript
function ParentClass() {} ParentClass.prototype.inheritedMethod = function() {}; function ChildClass() { this.prop = 5; this.method = function() {}; } ChildClass.prototype = new ParentClass; ChildClass.prototype.prototypeMethod = function() {}; console.log( Object.getOwnPropertyNames( new ChildClass() ) ); var my_obj = Object.create({}, { getFoo: { value: function() { return this.foo; }, enumerable: false } }); my_obj.foo = 1; console.log(Object.getOwnPropertyNames(my_obj).sort());
Producción:
Array ["prop", "method"] Array ["foo", "getFoo"]
Navegadores compatibles: los navegadores compatibles con el método Object.getOwnPropertyNames() se enumeran a continuación:
- Google Chrome 5 y superior
- Borde 12 y superior
- Firefox 4 y superior
- Internet Explorer 9 y superior
- Ópera 12 y superior
- Safari 5 y superior
Publicación traducida automáticamente
Artículo escrito por SHUBHAMSINGH10 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA