enumerablePropertiesIn

    Return an array of an object's own and inherited enumerable property names and symbols.

    Usage

    var enumerablePropertiesIn = require( '@stdlib/utils/enumerable-properties-in' );
    

    enumerablePropertiesIn( obj )

    Returns an array of an object's own and inherited enumerable property names and symbols.

    var obj = {
        'a': 'a'
    };
    
    var props = enumerablePropertiesIn( obj );
    // returns [ 'a' ]
    

    Examples

    var hasSymbolSupport = require( '@stdlib/assert/has-symbol-support' );
    var Symbol = require( '@stdlib/symbol/ctor' );
    var enumerablePropertiesIn = require( '@stdlib/utils/enumerable-properties-in' );
    
    var hasSymbols;
    var props;
    var obj;
    
    hasSymbols = hasSymbolSupport();
    
    function Foo() {
        this.a = 'b';
        if ( hasSymbols ) {
            this[ Symbol( 'a' ) ] = 'b';
        }
        return this;
    }
    
    Foo.prototype.foo = 'bar';
    if ( hasSymbols ) {
        Foo.prototype[ Symbol( 'foo' ) ] = 'bar';
    }
    
    obj = new Foo();
    props = enumerablePropertiesIn( obj );
    
    console.log( props );
    // e.g., => [ 'a', 'foo', ... ]