# propertyDescriptor > Return a property descriptor for an object's own property.
## Usage ```javascript var propertyDescriptor = require( '@stdlib/utils/property-descriptor' ); ``` #### propertyDescriptor( obj, property ) Returns a property descriptor for an object's own property. ```javascript var obj = { 'a': 1, 'b': 2 }; var desc = propertyDescriptor( obj, 'a' ); // returns {'configurable':true,'enumerable':true,'writable':true,'value':1} ```
## Notes - This function differs from the built-in `Object.getOwnPropertyDescriptor()` as follows: - If provided `null` or `undefined`, the function returns `null`, rather than throwing an error. - If an object does not have a provided property, the function returns `null`, rather than `undefined`.
## Examples ```javascript var defineProperty = require( '@stdlib/utils/define-property' ); var propertyDescriptor = require( '@stdlib/utils/property-descriptor' ); function Foo() { this.beep = 'boop'; this.a = { 'b': 'c' }; defineProperty( this, 'baz', { 'value': 'qux', 'configurable': true, 'writable': true, 'enumerable': false }); return this; } Foo.prototype.foo = [ 'bar' ]; var obj = new Foo(); var desc = propertyDescriptor( obj, 'baz' ); console.log( desc ); // => {'configurable':true,'enumerable':false,'writable':true,'value':'qux'} ```