or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

Files

docs

index.md
tile.json

index.mddocs/

0

# lodash.isnumber

1

2

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.

3

4

## Package Information

5

6

- **Package Name**: lodash.isnumber

7

- **Package Type**: npm

8

- **Language**: JavaScript

9

- **Installation**: `npm install lodash.isnumber`

10

11

## Core Imports

12

13

```javascript

14

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

15

```

16

17

ES6/ESM:

18

19

```javascript

20

import isNumber from 'lodash.isnumber';

21

```

22

23

## Basic Usage

24

25

```javascript

26

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

27

28

// Primitive numbers

29

isNumber(42); // => true

30

isNumber(3.14); // => true

31

isNumber(NaN); // => true

32

isNumber(Infinity); // => true

33

34

// Number objects

35

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

36

37

// Non-numbers

38

isNumber('42'); // => false

39

isNumber([1, 2, 3]); // => false

40

isNumber({a: 1}); // => false

41

isNumber(null); // => false

42

```

43

44

## Capabilities

45

46

### Number Type Checking

47

48

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

49

50

```javascript { .api }

51

/**

52

* Checks if value is classified as a Number primitive or object.

53

* Note: NaN is considered a number per ECMAScript 5 specification.

54

*

55

* @param {*} value - The value to check

56

* @returns {boolean} - Returns true if value is a number, else false

57

*/

58

function isNumber(value);

59

```

60

61

**Behavior:**

62

- Returns `true` for primitive numbers: `0`, `42`, `3.14`, `Infinity`, `-Infinity`, `NaN`

63

- Returns `true` for Number objects: `new Number(0)`, `new Number(42)`

64

- Returns `false` for all other types including:

65

- Strings (even numeric strings like `"42"`)

66

- Arrays, objects, functions

67

- Boolean values (`true`, `false`)

68

- `null` and `undefined`

69

- Dates, regular expressions

70

71

**Examples:**

72

73

```javascript

74

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

75

76

// Primitive numbers - all return true

77

isNumber(0); // => true

78

isNumber(42); // => true

79

isNumber(-17); // => true

80

isNumber(3.14159); // => true

81

isNumber(NaN); // => true (per ECMAScript spec)

82

isNumber(Infinity); // => true

83

isNumber(-Infinity); // => true

84

85

// Number objects - return true

86

isNumber(new Number(0)); // => true

87

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

88

isNumber(new Number(NaN)); // => true

89

90

// Non-numbers - all return false

91

isNumber(); // => false (undefined)

92

isNumber(null); // => false

93

isNumber(false); // => false

94

isNumber(true); // => false

95

isNumber('42'); // => false (numeric string)

96

isNumber('hello'); // => false

97

isNumber([1, 2, 3]); // => false

98

isNumber({a: 1}); // => false

99

isNumber(new Date()); // => false

100

isNumber(/regex/); // => false

101

isNumber(function() {}); // => false

102

103

// Edge cases

104

isNumber(+"42"); // => true (string coerced to number)

105

isNumber(parseInt("42")); // => true (parsed to number)

106

isNumber(parseFloat("3.14")); // => true (parsed to number)

107

```

108

109

**Implementation Details:**

110

- Uses `typeof value == 'number'` to check for primitive numbers

111

- Uses `Object.prototype.toString.call(value) == '[object Number]'` to detect Number objects

112

- Handles cross-realm/frame Number objects correctly

113

- No dependencies on other lodash functions