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