2.0 KiB
2.0 KiB
propertySymbolsIn
Return an array of an object's own and inherited symbol properties.
Usage
var propertySymbolsIn = require( '@stdlib/utils/property-symbols-in' );
propertySymbolsIn( obj )
Returns an array
of an object's own and inherited symbol properties.
var symbols = propertySymbolsIn( [] );
Notes
- In contrast to the built-in
Object.getOwnPropertySymbols()
, if providednull
orundefined
, the function returns an emptyarray
, rather than throwing an error.
Examples
var hasSymbolSupport = require( '@stdlib/assert/has-symbol-support' );
var Symbol = require( '@stdlib/symbol/ctor' );
var propertySymbolsIn = require( '@stdlib/utils/property-symbols-in' );
var hasSymbols;
var symbols;
var obj;
hasSymbols = hasSymbolSupport();
function Foo() {
if ( hasSymbols ) {
this[ Symbol( 'beep' ) ] = 'boop';
}
return this;
}
if ( hasSymbols ) {
Foo.prototype[ Symbol( 'foo' ) ] = 'bar';
}
obj = new Foo();
symbols = propertySymbolsIn( obj );
console.log( symbols );