Value is plain object

OSCC · JavaScript, Type, Object · Oct 20, 2020

Checks if the provided value is an object created by the Object constructor.

  • Check if the provided value is truthy.
  • Use typeof to check if it is an object and Object.prototype.constructor to make sure the constructor is equal to Object.
const isPlainObject = val =>
  !!val && typeof val === 'object' && val.constructor === Object;
isPlainObject({ a: 1 }); // true
isPlainObject(new Map()); // false

Recommended snippets

  • Array is empty

    JavaScript, Type

    Checks if the a value is an empty object/collection, has no enumerable properties or is any type that is not considered a collection.

  • Value is promise-like

    JavaScript, Type

    Checks if an object looks like a Promise.

  • Value is array-like

    JavaScript, Type

    Checks if the provided argument is array-like (i.e. is iterable).