21 lines
552 B
JavaScript
21 lines
552 B
JavaScript
|
/**
|
||
|
* Checks if `value` is a host object in IE < 9.
|
||
|
*
|
||
|
* @private
|
||
|
* @param {*} value The value to check.
|
||
|
* @returns {boolean} Returns `true` if `value` is a host object, else `false`.
|
||
|
*/
|
||
|
function isHostObject(value) {
|
||
|
// Many host objects are `Object` objects that can coerce to strings
|
||
|
// despite having improperly defined `toString` methods.
|
||
|
var result = false;
|
||
|
if (value != null && typeof value.toString != 'function') {
|
||
|
try {
|
||
|
result = !!(value + '');
|
||
|
} catch (e) {}
|
||
|
}
|
||
|
return result;
|
||
|
}
|
||
|
|
||
|
module.exports = isHostObject;
|