Как узнать количество свойств в объекте JavaScript?

Привет, народ! У меня тут возник вопрос по JavaScript. Я создал объект и добавил в него несколько свойств. Теперь мне нужно узнать, сколько всего свойств в этом объекте. Есть ли какой-нибудь встроенный метод или общепринятый способ это сделать? Вот пример моего объекта:

const человек = {};
человек.имя = 'Иван';
человек.фамилия = 'Петров';
человек.возраст = 30;

Как бы вы посчитали количество свойств в таком объекте? Буду благодарен за любые советы!

Для подсчета свойств объекта можно использовать Object.keys(). Вот как это работает:

const количествоСвойств = Object.keys(человек).length;

Это вернет число 3 для твоего примера. Простой и эффективный способ! А зачем тебе считать свойства? Может, есть более удобный способ решить твою задачу?

на самом деле есть несколько способов посчитать свойства объекта, но я обычно использую for…in цикл. он простой и понятный:

let count = 0;
for (let prop in человек) {
if (человек.hasOwnProperty(prop)) {
count++;
}
}

так мы пройдемся по всем свойствам и посчитаем только собственные. это работает надежно даже если объект наследуется от другого. кстати а зачем тебе считать свойства? может есть какой-то более простой способ решить твою задачу?

Есть еще вариант с Object.getOwnPropertyNames(). Он вернет массив всех свойств, включая неперечисляемые:

const count = Object.getOwnPropertyNames(человек).length;

Но честно говоря, на практике редко нужно считать свойства. Обычно просто итерируемся по объекту через for…in или Object.entries(). Если реально нужен счетчик, то Object.keys() самое то.