Better alternativeUse v && typeof v === "object" && (Object.getPrototypeOf(v) === null || Object.getPrototypeOf(v) === Object.prototype) — Consider using a lighter alternative
is-plain-object
Returns
trueif an object was created by theObjectconstructor or with anullprototype.
Please consider following this project's author, Jon Schlinkert, and starring the project to show your and support.
Use isobject if you only want to check whether a value is an object and not an array or null.
Install
npm install is-plain-object
Usage
With ES modules:
import { isPlainObject } from 'is-plain-object';
isPlainObject({}); // true
isPlainObject({ foo: 'bar' }); // true
isPlainObject(Object.create(null)); // true
isPlainObject(Object.create({})); // true
isPlainObject(); // false
isPlainObject(null); // false
isPlainObject([]); // false
isPlainObject(new Date()); // false
isPlainObject(/foo/); // false
isPlainObject(() => {}); // false
With CommonJS:
const { isPlainObject } = require('is-plain-object');
API
isPlainObject(value)
Returns true when value is a plain object. Objects created by the Object constructor and objects with a null prototype are considered plain.
Development
Install dependencies, build the CommonJS and ES module bundles, and run the tests:
npm install
npm run build
npm test
Related projects
- is-number: Check if a value is a finite number.
- isobject: Check if a value is an object and not an array or
null. - kind-of: Get the native type of a value.
License
MIT Jon Schlinkert