1.0.9 • Published 1 year ago

is-number-strict v1.0.9

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

StandsWithUkraine

IsNumberStrict - check if something is a number

Weekly loads Minzipped size Build Status codecov TypeSCript GitHub license

Designed to strictly check if the value is a number. Works with Number objects, hex, and so on. Returns false for string and other not numbers like {}, undefined, NaN

Install

npm i is-number-strict

Usage

JavaScript with require syntax

const isNumber = require('is-number-strict').default;

console.assert(isNumber(5));
console.assert(!isNumber('5'));

JavaScript with import syntax

import isNumber from "is-number-strict";

console.assert(isNumber(5));
console.assert(!isNumber('5'));

What problem it solves

This tiny lib tries to make type assertion little bit more predictable and remove NaN from your calculations.

typeof new Number(42);
> 'object'

But it is working as good old number

new Number(5) * new Number(6);
> 30

So:

isNumberStrict(new Number(5));
> true

But:

isNumberStrict('5');
> false

And

isNumberStrict(NaN);
> false

Why didn't you treat '5' as a number? '5' + 5 = 10! Yes, but 5 + '5' = '55' and 5 * '5' = NaN. I don't want to see NaN or '55' in my calculations.

So if you want to have more predictable type checking - check my tests and welcome!

Some wired cases

Why do you treat new Number([]) as a number?

Because JS will evaluate it to 0, and 0 is number.

Why do you treat new number({}) as not a number?

Because JS will evaluate it to NaN and NaN is not a number according to my purposes.

1.0.9

1 year ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

4 years ago

1.0.1

5 years ago

1.0.0

5 years ago

0.1.1

6 years ago

0.3.0

6 years ago

0.1.0

6 years ago