Avatar ·

Cómo verificar si una variable es un objeto en JavaScript

¡Hola a todos! Soy nuevo en JavaScript y me encontré con un problema al verificar tipos de datos. Necesito escribir una función que tome un argumento y verifique si es un objeto (no array, no null, no primitivo). Intenté usar `typeof`, pero devuelve `"object"` para arrays y `null`, lo que no me sirve. Aquí hay un ejemplo: ```javascript function isObject(value) { return typeof value === 'object'; } console.log(isObject({})); // true — correcto console.log(isObject([])); // true — pero debería ser false, es un array console.log(isObject(null)); // true — pero debería ser false, null no es un objeto console.log(isObject(function(){})); // false — pero es una función, tampoco debería considerarse objeto ``` Intenté agregar una verificación con `Array.isArray()`, pero esto no resuelve el problema con `null`. También leí sobre `instanceof Object`, pero tampoco funciona con `null` y puede dar falsos positivos para objetos de otros frames (por ejemplo, iframe). Díganme, ¿cómo puedo hacerlo correctamente?