Check if a string is a valid JavaScript identifier
npm install is-identifier
import isIdentifier from 'is-identifier';
isIdentifier('foo');
//=> true
isIdentifier('1kg');
//=> false
isIdentifier('await'); // Reserved identifier
//=> false
[!NOTE]
AlthoughglobalThis,Infinity,NaN, andundefinedare properties of the global object and not identifiers, they are treated as reserved here because they should generally not be used as identifiers.
Returns a boolean for whether the given value is a valid JavaScript identifier.
Type: object
Type: boolean
Default: true
Reject reserved words and global properties like if, await, and undefined.
These are valid identifier syntax but should not be used as variable names, so they are rejected by default. Disable this when you only care about the syntax, such as for property keys ({if: 1}) or dot notation (foo.for), where they are allowed.
import isIdentifier from 'is-identifier';
isIdentifier('for', {checkReserved: false});
//=> true