# Configurable Read-Only Accessor
> [Define][@stdlib/utils/define-property] a configurable **read-only** accessor.
## Usage
```javascript
var setConfigurableReadOnlyAccessor = require( '@stdlib/utils/define-configurable-read-only-accessor' );
```
#### setConfigurableReadOnlyAccessor( obj, prop, getter )
[Defines][@stdlib/utils/define-property] a configurable **read-only** accessor.
```javascript
function getter() {
return 'bar';
}
var obj = {};
setConfigurableReadOnlyAccessor( obj, 'foo', getter );
obj.foo = 'boop';
// throws
```
## Notes
- Configurable read-only accessors are **enumerable**.
## Examples
```javascript
var setConfigurableReadOnlyAccessor = require( '@stdlib/utils/define-configurable-read-only-accessor' );
function Foo( name ) {
if ( !(this instanceof Foo) ) {
return new Foo( name );
}
setConfigurableReadOnlyAccessor( this, 'name', getName );
return this;
function getName() {
return name;
}
}
var foo = new Foo( 'beep' );
try {
foo.name = 'boop';
} catch ( err ) {
console.error( err.message );
}
```
[@stdlib/utils/define-property]: https://www.npmjs.com/package/@stdlib/utils/tree/main/define-property