Test whether a value is a property key.
var isPropertyKey = require( '@stdlib/assert/is-property-key' );
Tests whether a value is a property key.
var bool = isPropertyKey( 'beep' );
// returns true
bool = isPropertyKey( 3.14 );
// returns false
- 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' )
.
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
@stdlib/assert/is-string
: test if a value is a string.@stdlib/assert/is-symbol
: test if a value is a symbol.@stdlib/assert/is-nonnegative-integer
: test if a value is a number having a nonnegative integer value.@stdlib/assert/has-own-property
: test if an object has a specified property.@stdlib/assert/has-property
: test if an object has a specified property, either own or inherited.