types - Vérifiez si une valeur est un objet en JavaScript

Mots clés : javascripttypesjavascript-objectsjavascript

meilleur 4 Réponses types - Vérifiez si une valeur est un objet en JavaScript

vote vote

95

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

85

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

76

// oops:  isObject(Object.prototype) -> false // oops:  isObject(Object.create(null)) -> false function isObject(val) {     return val instanceof Object;  } 
// oops: isObject(Object) -> false function isObject(val) {     return (typeof val === 'object'); } 
> Object.prototype.toString.call(3) "[object Number]"  > Object.prototype.toString.call(new Number(3)) "[object Number]" 
function isObject(val) {     if (val === null) { return false;}     return ( (typeof val === 'function') || (typeof val === 'object') ); } 
function isObject(obj) {   return obj === Object(obj); } 
// these 5 examples throw exceptions Object.getPrototypeOf(null) Object.getPrototypeOf(undefined) Object.getPrototypeOf(3) Object.getPrototypeOf('abc') Object.getPrototypeOf(true)  // these 5 examples don't throw exceptions Object.getPrototypeOf(Object) Object.getPrototypeOf(Object.prototype) Object.getPrototypeOf(Object.create(null)) Object.getPrototypeOf([]) Object.getPrototypeOf({}) 
vote vote

60

_.isObject = function(obj) {   return obj === Object(obj); }; 
_.isObject = function(obj) {   var type = typeof obj;   return type === 'function' || type === 'object' && !!obj; }; 

Questions similaires