Avatar ·

Como obter o comprimento (número de propriedades) de um objeto em JavaScript?

Olá a todos! Comecei a estudar JavaScript recentemente e me deparei com uma situação confusa. Arrays têm a propriedade `.length`, que mostra o número de elementos. Mas quando tento aplicar o mesmo a um objeto, obtenho `undefined`. Aqui está um exemplo: ```javascript const person = { name: 'Иван', age: 30, city: 'Москва' }; console.log(person.length); // undefined ``` Tenho um objeto com três propriedades. Como posso obter o número 3? Tentei usar `Object.keys()`, mas não tenho certeza se é o caminho correto. Por favor, me digam como descobrir o "comprimento" de um objeto em JS? E por que objetos não têm uma propriedade `.length` embutida como arrays? Agradeço desde já! <<>>

Por que objetos não têm a propriedade length?

Em JavaScript, arrays e objetos são estruturas de dados diferentes. Arrays são ordenados e têm índices numéricos, por isso possuem a propriedade embutida length. Objetos, por outro lado, são coleções não ordenadas de pares "chave-valor", e seu "comprimento" não é algo inerentemente definido.