|  | ||
|---|---|---|
| .. | ||
| docs | ||
| lib | ||
| package.json | ||
| README.md | ||
Non-Enumerable Read-Write Accessor
Define a non-enumerable read-write accessor.
Usage
var setNonEnumerableReadWriteAccessor = require( '@stdlib/utils/define-nonenumerable-read-write-accessor' );
setNonEnumerableReadWriteAccessor( obj, prop, getter, setter )
Defines a non-enumerable read-write accessor.
var word = 'bar';
var obj = {};
function getter() {
    return word + ' foo';
}
function setter( v ) {
    word = v;
}
setNonEnumerableReadWriteAccessor( obj, 'foo', getter, setter );
var v = obj.foo;
// returns 'bar foo'
obj.foo = 'beep';
v = obj.foo;
// returns 'beep foo'
Notes
- Non-enumerable read-write accessors are non-configurable.
Examples
var setNonEnumerableReadWriteAccessor = require( '@stdlib/utils/define-nonenumerable-read-write-accessor' );
function Foo( name ) {
    if ( !(this instanceof Foo) ) {
        return new Foo( name );
    }
    setNonEnumerableReadWriteAccessor( 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 );