🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

is-number-strict

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

is-number-strict

Tiny lib to check if passed argument is strictly number. Strings will not pass!

1.0.9
latest
npm
Version published
Maintainers
1
Created
Source

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.

Keywords

number

FAQs

Package last updated on 24 Nov 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts