isSymbol.js (682B)
1 var baseGetTag = require('./_baseGetTag'), 2 isObjectLike = require('./isObjectLike'); 3 4 /** `Object#toString` result references. */ 5 var symbolTag = '[object Symbol]'; 6 7 /** 8 * Checks if `value` is classified as a `Symbol` primitive or object. 9 * 10 * @static 11 * @memberOf _ 12 * @since 4.0.0 13 * @category Lang 14 * @param {*} value The value to check. 15 * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. 16 * @example 17 * 18 * _.isSymbol(Symbol.iterator); 19 * // => true 20 * 21 * _.isSymbol('abc'); 22 * // => false 23 */ 24 function isSymbol(value) { 25 return typeof value == 'symbol' || 26 (isObjectLike(value) && baseGetTag(value) == symbolTag); 27 } 28 29 module.exports = isSymbol;