Sobes.tech
Middle

Was ist der Unterschied zwischen den Methoden Object.getOwnPropertyNames() und Object.keys()?

sobes.tech KI

Antwort von 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' ]