- License
- MIT
- Deps
- 0
- Install Size
- 4.1 kB
- Vulns
- 0
- Published
$
npm install is-plain-obj$
pnpm add is-plain-obj$
yarn add is-plain-obj$
bun add is-plain-obj$
deno add npm:is-plain-obj$
vlt install is-plain-obj$
vp add is-plain-objYou might not need this dependency.
You can use typeof to check if a value is an object and Object.getPrototypeOf to ensure it's a plain object.
Example:
const isObject = (obj) => obj && typeof obj === "object" && (Object.getPrototypeOf(obj) === null || Object.getPrototypeOf(obj) === Object.prototype);is-plain-obj
Check if a value is a plain object
An object is plain if it's created by either {}, new Object(), or Object.create(null).
Install
$ npm install is-plain-obj
Usage
import isPlainObject from 'is-plain-obj';
import {runInNewContext} from 'node:vm';
isPlainObject({foo: 'bar'});
//=> true
isPlainObject(new Object());
//=> true
isPlainObject(Object.create(null));
//=> true
// This works across realms
isPlainObject(runInNewContext('({})'));
//=> true
isPlainObject([1, 2, 3]);
//=> false
class Unicorn {}
isPlainObject(new Unicorn());
//=> false
isPlainObject(Math);
//=> false
Related
Get professional support for this package with a Tidelift subscription
Tidelift helps make open source sustainable for maintainers while giving companies
assurances about security, maintenance, and licensing for their dependencies.
Tidelift helps make open source sustainable for maintainers while giving companies
assurances about security, maintenance, and licensing for their dependencies.