Avatar ·

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