Avatar ·

Como contar eficientemente o número de chaves/propriedades de um objeto em JavaScript?

Olá a todos! Sou um desenvolvedor JS iniciante e tive um problema ao contar o número de propriedades em um objeto. Tenho um objeto que armazena dados sobre usuários: ```javascript const users = { user1: { name: 'Alice', age: 30 }, user2: { name: 'Bob', age: 25 }, user3: { name: 'Charlie', age: 35 } }; ``` Preciso saber quantos usuários estão neste objeto. Tentei usar a propriedade `.length`, como em arrays, mas ela retorna `undefined`. Encontrei este método: `Object.keys(users).length`, e ele funciona. Mas estou preocupado com a performance. Posso ter objetos com centenas e milhares de chaves. Esse método não vai ficar lento? Existem maneiras mais rápidas de contar o número de chaves? Além disso, ouvi falar sobre o loop `for...in`, mas parece que ele também itera sobre propriedades do prototype. Como contar corretamente apenas as próprias chaves do objeto? Ficarei grato por uma explicação detalhada com exemplos de código e recomendações de performance.