--- title: Number slug: Web/JavaScript/Reference/Global_Objects/Number tags: - JavaScript - Number - Reference - Vietnamese translation_of: Web/JavaScript/Reference/Global_Objects/Number ---
{{JSRef}}

Đối tượng JavaScript Number là một đối tượng bao bọc cho phép bạn làm việc với các giá trị số. Một đối tượng Number có thể được tạo ra sử dụng hàm khởi tạo Number().

Cú pháp

new Number(value);

Các tham số

value
Giá trị số của đối tượng được tạo ra.

Mô tả

Các sử dụng chính cho đối tượng Number là:

Các thuộc tính

{{jsxref("Number.EPSILON")}}
Khoảng cách nhỏ nhất giữa hai số có thể biểu thị được.
{{jsxref("Number.MAX_SAFE_INTEGER")}}
Các số an toàn tối đa trong JavaScript (253 - 1)
{{jsxref("Number.MAX_VALUE")}}
Đại diện cho giá trị số lớn nhất.
{{jsxref("Number.MIN_SAFE_INTEGER")}}
Các số an toàn tối thiểu trong JavaScript (-(253 - 1)).
{{jsxref("Number.MIN_VALUE")}}
Đại diện cho giá trị số nhỏ nhất - nghĩa là số dương gần với không nhất (không thực sự bằng không).
{{jsxref("Number.NaN")}}
Giá trị đặc biệt "không phải là một số".
{{jsxref("Number.NEGATIVE_INFINITY")}}
Giá trị đặc biệt đại diện cho âm vô cùng; được trả về khi tràn.
{{jsxref("Number.POSITIVE_INFINITY")}}
Giá trị đặc biệt đại diện cho dương vô cùng; được trả về khi tràn.
{{jsxref("Number.prototype")}}

Cho phép thêm các thuộc tính cho đối tượng Number

Các phương thức

{{jsxref("Number.isNaN()")}}
Xác định giá trị được truyền là NaN.
{{jsxref("Number.isFinite()")}}
Xác định giá trị được truyền là một số hữu hạn.
{{jsxref("Number.isInteger()")}}
Xác định giá trị được truyền là một số nguyên.
{{jsxref("Number.isSafeInteger()")}}
Xác định giá trị được truyền là một số an toàn (số giữa -(253 - 1) và 253 - 1).
{{jsxref("Number.toInteger()")}} {{obsolete_inline}}
Được sử dụng để đánh giá giá trị được truyền và chuyển đổi nó sang một số nguyên (or {{jsxref("Global_Objects/Infinity", "Infinity")}}), nhưng đã được loại bỏ.
{{jsxref("Number.parseFloat()")}}
Giá trị cũng giống như {{jsxref("parseFloat", "parseFloat()")}} của đối tượng toàn cầu.
{{jsxref("Number.parseInt()")}}
Giá trị cũng giống như {{jsxref("parseInt", "parseInt()")}} của đối tượng toàn cầu.

Các thể hiện của Number

Tất cả các thể hiện của Number được kế thừa từ {{jsxref("Number.prototype")}}. Các đối tượng nguyên mẫu (prototype) của hàm khởi tạo Number có thể được sửa đổi để ảnh hưởng đến tất cả các thể hiện của Number.

Các ví dụ

Sử dụng đối tượng Number để gán các giá trị cho các biến số.

Ví dụ sau sử dụng các thuộc tính của đối tượng Number để gán các giá trị cho các biến số khác nhau:

var biggestNum = Number.MAX_VALUE;
var smallestNum = Number.MIN_VALUE;
var infiniteNum = Number.POSITIVE_INFINITY;
var negInfiniteNum = Number.NEGATIVE_INFINITY;
var notANum = Number.NaN;

Phạm vi số nguyên của Number

Ví dụ sau cho thấy các giá trị số nguyên tối thiểu và tối đa có thể được biểu diễn dưới dạng đối tượng Number:

var biggestInt = 9007199254740992;
var smallestInt = -9007199254740992;

Khi phân tích cú pháp dữ liệu đã được tuần tự hóa thành JSON, các giá trị số nguyên vượt ra khỏi phạm vi này có thể được dự kiến sẽ bị hỏng khi trình phân tích cú pháp JSON ép buộc chúng với kiểu Số. Sử dụng {{jsxref ("String")}} thay vào đó là một giải pháp khả thi.

Sử dụng Number để chuyển đổi một đối tượng Date

Ví dụ sau chuyển đổi một đối tượng {{jsxref("Date")}} sang một giá trị số sử dụng Number như là một hàm:

var d = new Date('October 30, 1996 13:46:36');
console.log(Number(d));

Kết quả: 846657996000.

Chuyển đổi chuỗi dạng số sang số

Number("123")     // 123
Number("")        // 0
Number("   ")     // 0
Number("0x11")    // 17
Number("0b11")    // 3
Number("0o11")    // 9
Number("foo")     // NaN
Number("100a")    // NaN

Thông số kỹ thuật

Đặc điểm kỹ thuật Trạng thái Chú thích
{{SpecName('ES1')}} {{Spec2('ES1')}} Định nghĩa ban đầu. Được thực hiện trong JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.7', 'Number')}} {{Spec2('ES5.1')}}  
{{SpecName('ES6', '#sec-number-objects', 'Number')}} {{Spec2('ES6')}} Đã thêm các phương pháp và thuộc tính mới: {{jsxref("Number.EPSILON", "EPSILON")}}, {{jsxref("Number.isFinite", "isFinite")}}, {{jsxref("Number.isInteger", "isInteger")}}, {{jsxref("Number.isNaN", "isNaN")}}, {{jsxref("Number.parseFloat", "parseFloat")}}, {{jsxref("Number.parseInt", "parseInt")}}
{{SpecName('ESDraft', '#sec-number-objects', 'Number')}} {{Spec2('ESDraft')}}  

Khả năng tương thích trình duyệt

{{CompatibilityTable}}
Đặc tính Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}}
Đặc tính Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}}

Xem thêm