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