nonSymbol
function nonSymbol<T>(value: T | symbol): value is T;
nonSymbol(value) is the same test as !isSymbol(value), written so that a guard clause reads as a sentence rather than as a negation.
Registered symbols from Symbol.for and the well-known symbols both pass; nothing else does.
isX and nonX answer a question and never interrupt control flow; requireX and requireNonX hand the value back or throw. The scheme is explained in Validation conventions.
Parameters
Parameter | Type | Description |
|---|---|---|
|
| The value to check. |
Returns
boolean — true when the value is not a symbol; otherwise false.
In TypeScript the guard narrows value to T inside the branch.
Examples
What passes and what does not
nonSymbol("id"); // => true
nonSymbol(null); // => true
nonSymbol(Symbol("id")); // => false
nonSymbol(Symbol.iterator); // => false
See also
Source
23 September 2026
This documentation was generated with AI (Claude) from the library's source code.