Non-Enumerable Property

    Define a non-enumerable property.

    Usage

    var setNonEnumerableProperty = require( '@stdlib/utils/define-nonenumerable-property' );
    

    setNonEnumerableProperty( obj, prop, value )

    Defines a non-enumerable property.

    var obj = {};
    
    setNonEnumerableProperty( obj, 'foo', 'bar' );
    
    var v = obj.foo;
    // returns 'bar'
    
    ## Notes
    • Non-enumerable properties are writable and configurable.

    Examples

    var objectKeys = require( '@stdlib/utils/keys' );
    var setNonEnumerableProperty = require( '@stdlib/utils/define-nonenumerable-property' );
    
    function Foo( name ) {
        if ( !(this instanceof Foo) ) {
            return new Foo( name );
        }
        setNonEnumerableProperty( this, 'name', name );
        return this;
    }
    
    var foo = new Foo( 'beep' );
    
    var v = foo.name;
    // returns 'beep'
    
    var keys = objectKeys( foo );
    // returns []