Como verificar se uma variável é um objeto em JavaScript?
Olá a todos! Sou novo em JavaScript e encontrei um problema ao verificar tipos de dados. Preciso escrever uma função que recebe um argumento e verifica se ele é um objeto (não array, não null, não primitivo).
Tentei usar `typeof`, mas ele retorna `"object"` para arrays e `null`, o que não serve para mim. Aqui está um exemplo:
```javascript
function isObject(value) {
return typeof value === 'object';
}
console.log(isObject({})); // true — correto
console.log(isObject([])); // true — mas deveria ser false, é um array
console.log(isObject(null)); // true — mas deveria ser false, null não é objeto
console.log(isObject(function(){})); // false — e isso é uma função, também não deve ser considerada objeto
```
Tentei adicionar uma verificação com `Array.isArray()`, mas isso não resolve o problema com `null`. Também li sobre `instanceof Object`, mas ele também não funciona com `null` e pode dar falsos positivos para objetos de outros frames (por exemplo, iframe).
Diga-me como fazer corretamente e não