Sobes.tech
Middle

Jaký je rozdíl mezi metodami Object.getOwnPropertyNames() a Object.keys()?

sobes.tech AI

Odpověď od AI

Object.keys() возвращает массив строк - имена перечисляемых свойств объекта. Object.getOwnPropertyNames() возвращает массив строк - имена всех свойств объекта (включая неперечисляемые), кроме символьных.

Пример:

const obj = {
  a: 1,
  b: 2
};

Object.defineProperty(obj, 'c', {
  value: 3,
  enumerable: false
});

console.log(Object.keys(obj)); // Вывод: [ 'a', 'b' ]
console.log(Object.getOwnPropertyNames(obj)); // Вывод: [ 'a', 'b', 'c' ]