# Configurable Read-Write Accessor > [Define][@stdlib/utils/define-property] a configurable **read-write** accessor.
## Usage ```javascript var setConfigurableReadWriteAccessor = require( '@stdlib/utils/define-configurable-read-write-accessor' ); ``` #### setConfigurableReadWriteAccessor( obj, prop, getter, setter ) [Defines][@stdlib/utils/define-property] a configurable **read-write** accessor. ```javascript var word = 'bar'; var obj = {}; function getter() { return word + ' foo'; } function setter( v ) { word = v; } setConfigurableReadWriteAccessor( obj, 'foo', getter, setter ); var v = obj.foo; // returns 'bar foo' obj.foo = 'beep'; v = obj.foo; // returns 'beep foo' ```
## Notes - Configurable read-write accessors are **enumerable**.
## Examples ```javascript var setConfigurableReadWriteAccessor = require( '@stdlib/utils/define-configurable-read-write-accessor' ); function Foo( name ) { if ( !(this instanceof Foo) ) { return new Foo( name ); } setConfigurableReadWriteAccessor( 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 ); ```