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.