39 lines
		
	
	
		
			909 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			909 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| import isNumber from './isNumber.js';
 | |
| 
 | |
| /**
 | |
|  * Checks if `value` is `NaN`.
 | |
|  *
 | |
|  * **Note:** This method is based on
 | |
|  * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as
 | |
|  * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for
 | |
|  * `undefined` and other non-number values.
 | |
|  *
 | |
|  * @static
 | |
|  * @memberOf _
 | |
|  * @since 0.1.0
 | |
|  * @category Lang
 | |
|  * @param {*} value The value to check.
 | |
|  * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.
 | |
|  * @example
 | |
|  *
 | |
|  * _.isNaN(NaN);
 | |
|  * // => true
 | |
|  *
 | |
|  * _.isNaN(new Number(NaN));
 | |
|  * // => true
 | |
|  *
 | |
|  * isNaN(undefined);
 | |
|  * // => true
 | |
|  *
 | |
|  * _.isNaN(undefined);
 | |
|  * // => false
 | |
|  */
 | |
| function isNaN(value) {
 | |
|   // An `NaN` primitive is the only value that is not equal to itself.
 | |
|   // Perform the `toStringTag` check first to avoid errors with some
 | |
|   // ActiveX objects in IE.
 | |
|   return isNumber(value) && value != +value;
 | |
| }
 | |
| 
 | |
| export default isNaN;
 |