Skip to content

sindresorhus/has-own-prop

Repository files navigation

has-own-prop

A safer .hasOwnProperty()

Shortcut for Object.prototype.hasOwnProperty.call(object, property). Also comes with a type guard for TypeScript users.

You shouldn't use .hasOwnProperty() as it won't exist on objects created with Object.create(null) or it may have been overridden.

If you are targeting Node.js 16+ or browsers, use Object.hasOwn() instead.

Install

npm install has-own-prop

Usage

import hasOwnProperty from 'has-own-prop';

const object = Object.create(null);
object.unicorn = true;

object.hasOwnProperty('unicorn');
//=> 'TypeError: undefined is not a function'

hasOwnProperty(object, 'unicorn');
//=> true