JavaScript | Método Object.getOwnPropertyNames()

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *