30 lines
		
	
	
		
			680 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			680 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
import baseGetTag from './_baseGetTag.js';
 | 
						|
import isObjectLike from './isObjectLike.js';
 | 
						|
 | 
						|
/** `Object#toString` result references. */
 | 
						|
var symbolTag = '[object Symbol]';
 | 
						|
 | 
						|
/**
 | 
						|
 * Checks if `value` is classified as a `Symbol` primitive or object.
 | 
						|
 *
 | 
						|
 * @static
 | 
						|
 * @memberOf _
 | 
						|
 * @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) {
 | 
						|
  return typeof value == 'symbol' ||
 | 
						|
    (isObjectLike(value) && baseGetTag(value) == symbolTag);
 | 
						|
}
 | 
						|
 | 
						|
export default isSymbol;
 |