Ordenação de array de objetos por valores de propriedades em JavaScript
Olá a todos! Sou novo em JavaScript e encontrei um problema ao ordenar um array de objetos. Tenho um array de usuários, cada objeto contém nome e idade:
```javascript
const users = [
{ name: 'Анна', age: 25 },
{ name: 'Иван', age: 30 },
{ name: 'Мария', age: 22 },
{ name: 'Петр', age: 28 }
];
```
Preciso ordenar este array por idade (do mais novo para o mais velho) e depois por nome em ordem alfabética. Tentei usar o método `sort()` diretamente, mas ele não funciona como esperado — ordena como strings, e os objetos não são comparados corretamente.
Li que `sort()` aceita uma função de comparação, mas não consigo entender como escrevê-la para objetos. Tentei algo como `users.sort((a, b) => a.age - b.age)`, mas o resultado é estranho — às vezes ordena, às vezes não. Além disso, quero ordenar primeiro por idade e, se a idade for igual, por nome. Como fazer isso corretamente?
Por favor, me expliquem como funciona a ordenação de objetos em JavaScript e como escrever