mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-01-29 06:27:49 +00:00
27 lines
589 B
TypeScript
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;
|