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' ), and3are 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.