# Non-Enumerable Read-Write Accessor > [Define][@stdlib/utils/define-property] a non-enumerable **read-write** accessor.
## Usage ```javascript var setNonEnumerableReadWriteAccessor = require( '@stdlib/utils/define-nonenumerable-read-write-accessor' ); ``` #### setNonEnumerableReadWriteAccessor( obj, prop, getter, setter ) [Defines][@stdlib/utils/define-property] a non-enumerable **read-write** accessor. ```javascript var word = 'bar'; var obj = {}; function getter() { return word + ' foo'; } function setter( v ) { word = v; } setNonEnumerableReadWriteAccessor( obj, 'foo', getter, setter ); var v = obj.foo; // returns 'bar foo' obj.foo = 'beep'; v = obj.foo; // returns 'beep foo' ```
## Notes - Non-enumerable read-write accessors are **non-configurable**.
## Examples ```javascript var setNonEnumerableReadWriteAccessor = require( '@stdlib/utils/define-nonenumerable-read-write-accessor' ); function Foo( name ) { if ( !(this instanceof Foo) ) { return new Foo( name ); } setNonEnumerableReadWriteAccessor( this, 'name', getName, setName ); return this; function getName() { return 'Hello, ' + name; } function setName( v ) { name = v; } } var foo = new Foo( 'Grace' ); console.log( foo.name ); foo.name = 'Ada'; console.log( foo.name ); ```