00001 var Symbol = require('./_Symbol'), 00002 getRawTag = require('./_getRawTag'), 00003 objectToString = require('./_objectToString'); 00004 00006 var nullTag = '[object Null]', 00007 undefinedTag = '[object Undefined]'; 00008 00010 var symToStringTag = Symbol ? Symbol.toStringTag : undefined; 00011 00019 function baseGetTag(value) { 00020 if (value == null) { 00021 return value === undefined ? undefinedTag : nullTag; 00022 } 00023 return (symToStringTag && symToStringTag in Object(value)) 00024 ? getRawTag(value) 00025 : objectToString(value); 00026 } 00027 00028 module.exports = baseGetTag;