isPropertyKey
Test whether a value is a property key.
Usage
var isPropertyKey = require( '@stdlib/assert/is-property-key' );
isPropertyKey( value )
Tests whether a value is a property key.
var bool = isPropertyKey( 'beep' );
// returns true
bool = isPropertyKey( 3.14 );
// returns false
Notes
- A valid property key is either a string, symbol, or a nonnegative integer. For example,
'beep'
,Symbol( 'beep' )
, and3
are all valid property keys. - Only primitive values are considered to be valid property keys. This excludes object wrappers such as
new String( 'beep' )
.
Examples
var Symbol = require( '@stdlib/symbol/ctor' );
var hasSymbolSupport = require( '@stdlib/assert/has-symbol-support' );
var isPropertyKey = require( '@stdlib/assert/is-property-key' );
var hasSymbols = hasSymbolSupport();
var bool = isPropertyKey( 'beep' );
// returns true
if ( hasSymbols ) {
bool = isPropertyKey( Symbol( 'beep' ) );
// returns true
} else {
console.log( 'Environment does not support symbols.' );
}
bool = isPropertyKey( 37 );
// returns true
bool = isPropertyKey( {} );
// returns false
bool = isPropertyKey( [] );
// returns false