Đối tượng Number trong Javascript - Javascript căn bản
Trong Javascript có một đối tượng thường được dùng để xử lý kiểu dữ liệu number đó là đối tượng Number, đối tượng này thường có hai dạng đó là số có dấu chấm động và số không có dấu chấm động. Trong bài này chúng ta sẽ tìm hiểu cách khai báo Number và một số vấn đề liên ...
Trong Javascript có một đối tượng thường được dùng để xử lý kiểu dữ liệu number đó là đối tượng Number
, đối tượng này thường có hai dạng đó là số có dấu chấm động và số không có dấu chấm động.
Trong bài này chúng ta sẽ tìm hiểu cách khai báo Number
và một số vấn đề liên quan đến đối tượng Number
này.
1. Đối tượng Number trong Javascript
Trong Javascript có hai giá trị lưu trữ trong Number
đó là số có dấu chấm động và không có dấu chấm động.
Ví dụ:
var x = 12; // không có dấu chấm động var y = 12.5; // có dấu chấm động
Và nếu một số quá lớn thì bạn có thể dùng số mũ để biểu diễn.
Ví dụ:
var x = 123e5; // 12300000 var y = 123e-5; // 0.00123
Không giống với các ngôn ngữ lập trình khác, trong Javascript các số luôn luôn là 64 bít và kiểu float
, vì vậy bạn không thể định nghĩa các kiểu dữ liệu như integer
, short
, long
, ... hay nói cach khác trong Javascript khi làm việc với các chữ số thì chỉ có khái niệm Number
.
Ngoài ra bạn có thể biểu diễn giá trị của Number
ở dạng nhị phân, thập phân, thập lục phân, ...
Ví dụ:
var x = 0xFF; // x có giá trị bằng 255
Trong Javascript tất cả các dữ liệu liên quan đến những con số đều có kiểu dữ liệu là Number
, nghĩa là bạn dùng hàm typeof thì sẽ có kết quả trả về là 'number'.
Ví dụ:
var x = 123; var y = 1.23; typeof 12; // number typeof x; // number typeof y; // number
2. Xử lý Number trong Javascript
Phần này chúng ta tìm hiểu một số cách xử lý liên quan đến đối tượng Number
và mình cũng đưa ra một số lưu ý để bạn không bị mắc lỗi khi sử dụng nó.
Chuyển Number sang String
Để chuyển một biến đang ở kiểu Number
sang kiểu String
thì ta sử dụng phương thức number.toString(type)
, hàm này có một tham số truyền vào là type
và đây chính là kiểu dữ liệu mà ban muốn chuyển về, mặc định sẽ là hệ thập phân (10).
Sau đây là danh sách các hệ cơ số thông dụng:
- Hệ nhị phân (2)
- Hệ bát phân (8)
- Hệ thập phân (10)
- Hệ thập lục phân (8)
Ví dụ:
var myNumber = 128; myNumber.toString(16); // returns 80 myNumber.toString(8); // returns 200 myNumber.toString(2); // returns 10000000
Số Infinity
Infinity
cũng là một kiểu dữ liệu Number
và khi một biến có giá trị là Infinity
thì tức là nó đã vượt mức lưu trữ cho phép nên theo mặc định nó sẽ chuyển về dạng đó. Vì nó cũng là một giá trị nên bạn có thể so sánh bình thường.
Ví dụ: Ta sử dụng vòng lặp while để lặp cho tới khi biến myNumber
có giá trị là Infinity
.
XEM DEMO
var myNumber = 2; while (myNumber != Infinity) { myNumber = myNumber * myNumber; } document.write("Giá trị của myNumber là: " + myNumber);
NaN - Not a Number
Nếu bạn thực hiện một phép toán nào đó liên quan đến Number
nhưng vi phạm quy tắc tính toán thì kết quả sẽ trả về một giá trị gọi là NaN
(Not a Number). Ví dụ khi bạn thực hiện phép chia hai số nếu bạn cho mẫu số là một chuỗi String
thì kết quả sẽ là NaN
.
Ví dụ:
var x = 2/"Zaidap.com.net"; // NaN
Tuy nhiên nếu mẫu số là một chuỗi Number
thì kết quả nó vẫn hoạt động bình thường.
Ví dụ:
var x = 100 / "10"; // kết quả = 10
Để kiểm tra một biến nào đó có phải là NaN
hay không thì chúng ta sử dụng hàm isNaN()
.
Ví dụ: XEM DEMO
var x = 2/"s"; if (isNaN(x)){ document.write("NaN"); }
Numbers - Objects
Ngoài cách tạo một biến Number
thông thường đó là gán giá trị trực tiếp thì còn một cách khác đó là sử dụng đối tượng Number
. Tuy nhiên hai cách tạo này sẽ có kiểu dữ liệu khác nhau.
Ví dụ:
var x = 123; // number var y = new Number(123); // object
3. Lời kết
Vấn đề quan trọng nhất của bài này là hiểu rõ bản chất của Number
, cách kiểm tra một biến có phải là "Not a Number" hay không bằng cách sử dụng hàm isNaN()
, khái niệm Infinity
là gì?
Ngoài các cách sử dụng trên vẫn còn nhiều vấn đề nữa nhưng mình không thể trình bày hết được. Bài tiếp theo chúng ta tìm hiểu một số hàm xử Number trong Javascript.