# hasOwnProperty [![NPM version][npm-image]][npm-url] [![Build Status][test-image]][test-url] [![Coverage Status][coverage-image]][coverage-url] > Test if an object has a specified property.
## Installation ```bash npm install @stdlib/assert-has-own-property ```
## Usage ```javascript var hasOwnProp = require( '@stdlib/assert-has-own-property' ); ``` #### hasOwnProp( value, property ) Returns a `boolean` indicating if a `value` has a specified `property`. ```javascript var value = { 'beep': 'boop' }; var bool = hasOwnProp( value, 'beep' ); // returns true bool = hasOwnProp( value, 'bap' ); // returns false ```
## Notes - In contrast to the native [Object.prototype.hasOwnProperty][mdn-object-has-own-property], this function does **not** throw when provided `null` or `undefined`. Instead, the function returns `false`. ```javascript var bool = hasOwnProp( null, 'a' ); // returns false bool = hasOwnProp( void 0, 'a' ); // returns false ``` - Value arguments other than `null` or `undefined` are coerced to `objects`. ```javascript var bool = hasOwnProp( 'beep', 'length' ); // returns true ``` - Property arguments are coerced to `strings`. ```javascript var value = { 'null': false }; var bool = hasOwnProp( value, null ); // returns true value = { '[object Object]': false }; bool = hasOwnProp( value, {} ); // returns true ```
## Examples ```javascript var hasOwnProp = require( '@stdlib/assert-has-own-property' ); var bool = hasOwnProp( { 'a': 'b' }, 'a' ); // returns true bool = hasOwnProp( { 'a': 'b' }, 'c' ); // returns false bool = hasOwnProp( { 'a': 'b' }, null ); // returns false bool = hasOwnProp( {}, 'hasOwnProperty' ); // returns false bool = hasOwnProp( null, 'a' ); // returns false bool = hasOwnProp( void 0, 'a' ); // returns false bool = hasOwnProp( { 'null': false }, null ); // returns true bool = hasOwnProp( { '[object Object]': false }, {} ); // returns true ```
* * * ## Notice This package is part of [stdlib][stdlib], a standard library for JavaScript and Node.js, with an emphasis on numerical and scientific computing. The library provides a collection of robust, high performance libraries for mathematics, statistics, streams, utilities, and more. For more information on the project, filing bug reports and feature requests, and guidance on how to develop [stdlib][stdlib], see the main project [repository][stdlib]. #### Community [![Chat][chat-image]][chat-url] --- ## License See [LICENSE][stdlib-license]. ## Copyright Copyright © 2016-2022. The Stdlib [Authors][stdlib-authors].