Avatar ·

Cómo obtener la longitud (cantidad de propiedades) de un objeto en JavaScript?

¡Hola a todos! Acabo de empezar a aprender JavaScript y me encontré con una situación confusa. Los arrays tienen la propiedad `.length` que muestra la cantidad de elementos. Pero cuando intento aplicar lo mismo a un objeto, obtengo `undefined`. Aquí hay un ejemplo: ```javascript const person = { name: 'Iván', age: 30, city: 'Moscú' }; console.log(person.length); // undefined ``` Tengo un objeto con tres propiedades. ¿Cómo puedo obtener el número 3? Intenté usar `Object.keys()`, pero no estoy seguro de que sea el camino correcto. Por favor, indíquenme cómo obtener la "longitud" de un objeto en JS. ¿Y por qué los objetos no tienen una propiedad `.length` incorporada como los arrays? ¡Gracias de antemano! <<>>

¿Por qué los objetos no tienen una propiedad length?

En JavaScript, los arrays y los objetos son estructuras de datos diferentes. Los arrays están ordenados y tienen índices numéricos, por lo que tienen una propiedad incorporada length. Los objetos, en cambio, son colecciones no ordenadas de pares "clave-valor", y su "longitud" no es evidente.