es-toolkit
Version:
A state-of-the-art, high-performance JavaScript utility library with a small bundle size and strong type annotations.
30 lines (29 loc) • 777 B
JavaScript
//#region src/predicate/isSymbol.ts
/**
* Check whether a value is a symbol.
*
* This function can also serve as a type predicate in TypeScript, narrowing the type of the argument to `symbol`.
*
* @param value The value to check.
* @returns Returns `true` if `value` is a symbol, else `false`.
*
* @example
* import { isSymbol } from 'es-toolkit/predicate';
*
* isSymbol(Symbol('a')); // true
* isSymbol(Symbol.for('a')); // true
* isSymbol(Symbol.iterator); // true
*
* isSymbol(null); // false
* isSymbol(undefined); // false
* isSymbol('123'); // false
* isSymbol(false); // false
* isSymbol(123n); // false
* isSymbol({}); // false
* isSymbol([1, 2, 3]); // false
*/
function isSymbol(value) {
return typeof value === "symbol";
}
//#endregion
exports.isSymbol = isSymbol;