githubEdit

is-number

Returns true if the value is a finite number.

Please consider following this project's author, Jon Schlinkertarrow-up-right, and consider starring the project to show your ❤️ and support.

Install

Install with npmarrow-up-right:

$ npm install --save is-number

Why is this needed?

In JavaScript, it's not always as straightforward as it should be to reliably check if a value is a number. It's common for devs to use +, -, or Number() to cast a string value to a number (for example, when values are returned from user input, regex matches, parsers, etc). But there are many non-intuitive edge cases that yield unexpected results:

console.log(+[]); //=> 0
console.log(+''); //=> 0
console.log(+'   '); //=> 0
console.log(typeof NaN); //=> 'number'

This library offers a performant way to smooth out edge cases like these.

Usage

const isNumber = require('is-number');

See the testsarrow-up-right for more examples.

true

False

Everything else is false, as you would expect:

Release history

7.0.0

  • Refactor. Now uses .isFinite if it exists.

  • Performance is about the same as v6.0 when the value is a string or number. But it's now 3x-4x faster when the value is not a string or number.

6.0.0

  • Optimizations, thanks to @benaadams.

5.0.0

Breaking changes

  • removed support for instanceof Number and instanceof String

Benchmarks

As with all benchmarks, take these with a grain of salt. See the benchmarksarrow-up-right for more detail.

About

chevron-rightContributinghashtag

Pull requests and stars are always welcome. For bugs and feature requests, please create an issuearrow-up-right.

chevron-rightRunning Testshashtag

Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:

chevron-rightBuilding docshashtag

(This project's readme.md is generated by verbarrow-up-right, please don't edit the readme directly. Any changes to the readme must be made in the .verb.mdarrow-up-right readme template.)

To generate the readme, run the following command:

You might also be interested in these projects:

Contributors

Author

Jon Schlinkert

License

Copyright © 2018, Jon Schlinkertarrow-up-right. Released under the MIT Licensearrow-up-right.


This file was generated by verb-generate-readmearrow-up-right, v0.6.0, on June 15, 2018.

Last updated