Files
lodash/src/isSymbol.ts
2023-09-16 16:18:43 -07:00

27 lines
589 B
TypeScript

import getTag from './.internal/getTag.js';
/**
* Checks if `value` is classified as a `Symbol` primitive or object.
*
* @since 4.0.0
* @category Lang
* @param {*} value The value to check.
* @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
* @example
*
* isSymbol(Symbol.iterator)
* // => true
*
* isSymbol('abc')
* // => false
*/
function isSymbol(value) {
const type = typeof value;
return (
type === 'symbol' ||
(type === 'object' && value != null && getTag(value) === '[object Symbol]')
);
}
export default isSymbol;