Socket
Socket
Sign inDemoInstall

is-number-strict

Package Overview
Dependencies
0
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

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!


Version published
Maintainers
1
Install size
106 kB
Created

Readme

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

FAQs

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc