Comprobar si un valor es un objeto en JavaScript

Resuelto Danny Fox asked hace 12 años • 56 respuestas

¿Cómo se comprueba si un valor es un objeto en JavaScript?

Danny Fox avatar Dec 15 '11 03:12 Danny Fox
Aceptado

Si typeof yourVariable === 'object'es un objeto o null.

Si desea nullexcluir matrices o funciones, simplemente hágalo:

if (
    typeof yourVariable === 'object' &&
    !Array.isArray(yourVariable) &&
    yourVariable !== null
) {
    executeSomeCode();
}

Chuck avatar Dec 14 '2011 20:12 Chuck

ACTUALIZAR :

Esta respuesta está incompleta y da resultados engañosos . Por ejemplo, nulltambién se considera de tipo objecten JavaScript, sin mencionar varios otros casos extremos. Siga la recomendación a continuación y pase a otra "respuesta más votada (¡y correcta!)" :

typeof yourVariable === 'object' && yourVariable !== null

Respuesta original :

Intente usar typeof(var)y/o var instanceof something.

EDITAR: Esta respuesta da una idea de cómo examinar las propiedades de las variables, pero no es una receta infalible (¡después de todo, no hay ninguna receta!) para verificar si es un objeto, ni mucho menos. Dado que las personas tienden a buscar algo para copiar desde aquí sin investigar, les recomiendo que recurran a la otra respuesta, la más votada (¡y correcta!).

Michael Krelin - hacker avatar Dec 14 '2011 20:12 Michael Krelin - hacker