Skip to content

sindresorhus/is-plain-obj

Folders and files

NameName
Last commit message
Last commit date

Latest commit

97f38e8 · May 4, 2024

History

29 Commits
May 4, 2024
Jan 12, 2019
Jan 12, 2019
Jan 12, 2019
Jan 12, 2019
May 4, 2024
Jun 14, 2022
Jun 15, 2022
Apr 16, 2021
Oct 12, 2020
May 4, 2024
Jun 14, 2022
May 4, 2024

Repository files navigation

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

  • is-obj - Check if a value is an object
  • is - Type check values

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.