Cách để kiểm tra một biến có phải là number trong JavaScript

Chúng ta đều biết JavaScript là một ngôn ngữ dynamic một biến có thể lưu dữ liệu của bất kỳ loại nào từ number, string, boolean. Do vậy để kiểm tra giá trị của một biến có phải là dạng number hay không chúng ta có một vài cách ngắn gọn sau.

Sử dụng Number.isFinite()

Hàm Number.isFinite() được dùng để kiểm tra một giá trị có phải là number hay không, ngoài ra nó cũng kiểm tra đó có phải là một giá trị hữu hạn hay không. Vì thế nó sẽ trả về false trên các giá trị NaN, Infinity, -Infinity.

let intVar = 2;
let floatVar = 10.5;
let stringVar = '4';
let nanVar = NaN;
let infinityVar = Infinity;
let nullVar = null;
let undefinedVar = undefined;
// ---------------------------
> Number.isFinite(intVar);
true
> Number.isFinite(floatVar);
true
> Number.isFinite(stringVar);
false
> Number.isFinite(nanVar);
false
> Number.isFinite(infinityVar);
false
> Number.isFinite(nullVar);
false
> Number.isFinite(undefined);
false

Hàm này hoạt động khá tốt khi nó trả về false với các giá trị không xác định như undefined, null, Infinity và kể cả những giá trị không phải kiểu number.

Lodash – isNumber

Lodash là một trong những thư viện JavaScript lớn và được sử dụng rỗng rãi nhất trong các dự án sử dụng JavaScript. Nó cung cấp rất nhiều method phục vụ hầu hết các nhu cầu thao tác cơ bản của chúng ta trên string, array, map,etc. Việc cung Lodash cung cấp isNumber() method cho phép kiểm tra một biến có phải là dạng number hay không là chuyện chúng ta dễ hiểu.

<script src="lodash.js"></script>
Hoặc qua NPM
$ npm i -g npm
$ npm i --save lodash
var _ = require('lodash');
_.isNumber(3);
// => true
 
_.isNumber(Number.MIN_VALUE);
// => true
 
_.isNumber(Infinity);
// => true
 
_.isNumber('3');
// => false
0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x