isSymbol

Test if a value is a symbol.

Usage

var isSymbol = require( '@stdlib/assert/is-symbol' );

isSymbol( value )

Tests if a value is a symbol.

var bool = isSymbol( Symbol( 'beep' ) );
// returns true

bool = isSymbol( Object( Symbol( 'beep' ) ) );
// returns true

isSymbol.isPrimitive( value )

Tests if a value is a primitive symbol.

var bool = isSymbol.isPrimitive( Symbol( 'beep' ) );
// returns true

bool = isSymbol.isPrimitive( Object( Symbol( 'boop' ) ) );
// returns false

isSymbol.isObject( value )

Tests if a value is a Symbol object.

var bool = isSymbol.isObject( Symbol( 'beep' ) );
// returns false

bool = isSymbol.isObject( Object( Symbol( 'boop' ) ) );
// returns true

Examples

var hasSymbols = require( '@stdlib/utils/detect-symbol-support' )();
var isSymbol = require( '@stdlib/assert/is-symbol' );

var bool;

if ( hasSymbols ) {
    bool = isSymbol( Symbol( 'beep' ) );
    // returns true
} else {
    console.log( 'Environment does not support symbols.' );
}
bool = isSymbol( 'beep' );
// returns false

bool = isSymbol( {} );
// returns false

bool = isSymbol( [] );
// returns false

bool = isSymbol( null );
// returns false

bool = isSymbol( void 0 );
// returns false

bool = isSymbol( true );
// returns false

bool = isSymbol( function foo() {} );
// returns false