CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-lodash-isnumber

The lodash method _.isNumber exported as a module for checking if a value is a number

Pending
Quality

Pending

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Pending

The risk profile of this skill

Overview
Eval results
Files

lodash.isnumber

The lodash method _.isNumber exported as a standalone module. Checks if a value is classified as a Number primitive or object, returning true for numeric values including Number objects, and false for all other types.

Package Information

  • Package Name: lodash.isnumber
  • Package Type: npm
  • Language: JavaScript
  • Installation: npm install lodash.isnumber

Core Imports

const isNumber = require('lodash.isnumber');

ES6/ESM:

import isNumber from 'lodash.isnumber';

Basic Usage

const isNumber = require('lodash.isnumber');

// Primitive numbers
isNumber(42);        // => true
isNumber(3.14);      // => true
isNumber(NaN);       // => true
isNumber(Infinity);  // => true

// Number objects
isNumber(new Number(42)); // => true

// Non-numbers
isNumber('42');      // => false
isNumber([1, 2, 3]); // => false
isNumber({a: 1});    // => false
isNumber(null);      // => false

Capabilities

Number Type Checking

Checks if a value is classified as a Number primitive or object. Follows ECMAScript 5 specification where NaN is considered a number type.

/**
 * Checks if value is classified as a Number primitive or object.
 * Note: NaN is considered a number per ECMAScript 5 specification.
 * 
 * @param {*} value - The value to check
 * @returns {boolean} - Returns true if value is a number, else false
 */
function isNumber(value);

Behavior:

  • Returns true for primitive numbers: 0, 42, 3.14, Infinity, -Infinity, NaN
  • Returns true for Number objects: new Number(0), new Number(42)
  • Returns false for all other types including:
    • Strings (even numeric strings like "42")
    • Arrays, objects, functions
    • Boolean values (true, false)
    • null and undefined
    • Dates, regular expressions

Examples:

const isNumber = require('lodash.isnumber');

// Primitive numbers - all return true
isNumber(0);           // => true
isNumber(42);          // => true  
isNumber(-17);         // => true
isNumber(3.14159);     // => true
isNumber(NaN);         // => true (per ECMAScript spec)
isNumber(Infinity);    // => true
isNumber(-Infinity);   // => true

// Number objects - return true
isNumber(new Number(0));    // => true
isNumber(new Number(42));   // => true
isNumber(new Number(NaN));  // => true

// Non-numbers - all return false
isNumber();                 // => false (undefined)
isNumber(null);            // => false
isNumber(false);           // => false
isNumber(true);            // => false
isNumber('42');            // => false (numeric string)
isNumber('hello');         // => false
isNumber([1, 2, 3]);       // => false
isNumber({a: 1});          // => false
isNumber(new Date());      // => false
isNumber(/regex/);         // => false
isNumber(function() {});   // => false

// Edge cases
isNumber(+"42");           // => true (string coerced to number)
isNumber(parseInt("42"));  // => true (parsed to number)
isNumber(parseFloat("3.14")); // => true (parsed to number)

Implementation Details:

  • Uses typeof value == 'number' to check for primitive numbers
  • Uses Object.prototype.toString.call(value) == '[object Number]' to detect Number objects
  • Handles cross-realm/frame Number objects correctly
  • No dependencies on other lodash functions
Workspace
tessl
Visibility
Public
Created
Last updated
Describes
npmpkg:npm/lodash.isnumber@2.4.x
Publish Source
CLI
Badge
tessl/npm-lodash-isnumber badge