Как посчитать количество собственных свойств объекта?

Задание: Напиши функцию countProps(object), которая считает и возвращает количество собственных свойств объекта в параметре object. Используй переменную propCount для хранения количества свойств объекта.

Помогите, пожалуйста, подправить мой вариант:

function countProps(object) {
  let propCount = 0;
  
for (const key in object) {
  if (object.hasOwnProperty(key)){
    propCount += key;
  }
}
  return propCount;
}

Ответы (2 шт):

Автор решения: Grundy

При использовании for..in в переменную key помещается сам ключ, являющийся строкой.

Таким образом в текущей реализации собирается большая строка, содержащая имена всех перечислимых ключей.

Для того, чтобы найти количество, достаточно было увеличивать счетчик на единицу

for (const key in object) {
  if (object.hasOwnProperty(key)){
    propCount += 1;
  }
}
→ Ссылка
Автор решения: ksa

Напиши функцию countProps(object), которая считает и возвращает количество собственных свойств объекта в параметре object.

Метод Object.keys() возвращает массив из собственных перечисляемых свойств переданного объекта, в том же порядке, в котором они бы обходились циклом for...in (разница между циклом и методом в том, что цикл перечисляет свойства и из цепочки прототипов). https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Object/keys

function countProps(object) {
  const propCount = Object.keys(object).length
  return propCount;
}
→ Ссылка