Non-Enumerable Read-Only
Define a non-enumerable read-only property.
Usage
var setNonEnumerableReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );
setNonEnumerableReadOnly( obj, prop, value )
Defines a non-enumerable read-only property.
var obj = {};
setNonEnumerableReadOnly( obj, 'foo', 'bar' );
obj.foo = 'boop';
// throws <Error>
Notes
- Non-enumerable read-only properties are non-configurable.
Examples
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 );
}