diff options
| author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:43:23 -0500 |
|---|---|---|
| committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:43:23 -0500 |
| commit | 218934fa2ed1c702a6d3923d2aa2cc6b43c48684 (patch) | |
| tree | a9ef8ac1e1b8fe4207b6d64d3841bfb8990b6fd0 /files/vi/web/javascript/reference/global_objects/number | |
| parent | 074785cea106179cb3305637055ab0a009ca74f2 (diff) | |
| download | translated-content-218934fa2ed1c702a6d3923d2aa2cc6b43c48684.tar.gz translated-content-218934fa2ed1c702a6d3923d2aa2cc6b43c48684.tar.bz2 translated-content-218934fa2ed1c702a6d3923d2aa2cc6b43c48684.zip | |
initial commit
Diffstat (limited to 'files/vi/web/javascript/reference/global_objects/number')
10 files changed, 972 insertions, 0 deletions
diff --git a/files/vi/web/javascript/reference/global_objects/number/index.html b/files/vi/web/javascript/reference/global_objects/number/index.html new file mode 100644 index 0000000000..24b3e1b756 --- /dev/null +++ b/files/vi/web/javascript/reference/global_objects/number/index.html @@ -0,0 +1,216 @@ +--- +title: Number +slug: Web/JavaScript/Reference/Global_Objects/Number +tags: + - JavaScript + - Number + - Reference + - Vietnamese +translation_of: Web/JavaScript/Reference/Global_Objects/Number +--- +<div>{{JSRef}}</div> + +<p>Đối tượng JavaScript <strong>Number </strong>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 <strong>Number</strong> có thể được tạo ra sử dụng hàm khởi tạo Number().</p> + +<h2 id="Cú_pháp">Cú pháp</h2> + +<pre class="syntaxbox">new Number(value);</pre> + +<h3 id="Các_tham_số">Các tham số</h3> + +<dl> + <dt><code>value</code></dt> + <dd>Giá trị số của đối tượng được tạo ra.</dd> +</dl> + +<h2 id="Mô_tả">Mô tả</h2> + +<p>Các sử dụng chính cho đối tượng Number là:</p> + +<ul> + <li>Nếu đối số không thể chuyển đổi được sang một số, nó trả về {{jsxref("NaN")}}.</li> + <li>Trong một ngữ cảnh không phải constructor (vd, không dùng toán tử {{jsxref("Operators/new", "new")}}), <font face="Consolas, Liberation Mono, Courier, monospace">Number có thể được sử dụng để thực hiện chuyển đổi kiểu</font>.</li> +</ul> + +<h2 id="Các_thuộc_tính">Các thuộc tính</h2> + +<dl> + <dt>{{jsxref("Number.EPSILON")}}</dt> + <dd>Khoảng cách nhỏ nhất giữa hai số có thể biểu thị được.</dd> + <dt>{{jsxref("Number.MAX_SAFE_INTEGER")}}</dt> + <dd><font><font>Các số an toàn tối đa trong JavaScript (</font></font><code>2<sup>53</sup> - 1)</code></dd> + <dt>{{jsxref("Number.MAX_VALUE")}}</dt> + <dd>Đại diện cho giá trị số lớn nhất.</dd> + <dt>{{jsxref("Number.MIN_SAFE_INTEGER")}}</dt> + <dd><font><font>Các số an toàn tối thiểu trong JavaScript</font></font> (<code>-(2<sup>53</sup> - 1)</code>).</dd> + <dt>{{jsxref("Number.MIN_VALUE")}}</dt> + <dd>Đạ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).</dd> + <dt>{{jsxref("Number.NaN")}}</dt> + <dd>Giá trị đặc biệt "không phải là một số".</dd> + <dt>{{jsxref("Number.NEGATIVE_INFINITY")}}</dt> + <dd>Giá trị đặc biệt đại diện cho âm vô cùng; được trả về khi tràn.</dd> + <dt>{{jsxref("Number.POSITIVE_INFINITY")}}</dt> + <dd>Giá trị đặc biệt đại diện cho dương vô cùng; được trả về khi tràn.</dd> + <dt>{{jsxref("Number.prototype")}}</dt> + <dd> + <p>Cho phép thêm các thuộc tính cho đối tượng Number</p> + </dd> +</dl> + +<h2 id="Các_phương_thức">Các phương thức</h2> + +<dl> + <dt>{{jsxref("Number.isNaN()")}}</dt> + <dd>Xác định giá trị được truyền là NaN.</dd> + <dt>{{jsxref("Number.isFinite()")}}</dt> + <dd>Xác định giá trị được truyền là một số hữu hạn.</dd> + <dt>{{jsxref("Number.isInteger()")}}</dt> + <dd>Xác định giá trị được truyền là một số nguyên.</dd> + <dt>{{jsxref("Number.isSafeInteger()")}}</dt> + <dd>Xác định giá trị được truyền là một số an toàn (số giữa <code>-(2<sup>53</sup> - 1)</code> và <code>2<sup>53</sup> - 1</code>).</dd> + <dt><s class="obsoleteElement">{{jsxref("Number.toInteger()")}} {{obsolete_inline}}</s></dt> + <dd><s class="obsoleteElement">Đượ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ỏ.</s></dd> + <dt>{{jsxref("Number.parseFloat()")}}</dt> + <dd>Giá trị cũng giống như {{jsxref("parseFloat", "parseFloat()")}} của đối tượng toàn cầu.</dd> + <dt>{{jsxref("Number.parseInt()")}}</dt> + <dd>Giá trị cũng giống như {{jsxref("parseInt", "parseInt()")}} của đối tượng toàn cầu.</dd> +</dl> + +<h2 id="Các_thể_hiện_của_Number"><code>Các thể hiện của Number</code></h2> + +<p>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.</p> + +<h2 id="Các_ví_dụ">Các ví dụ</h2> + +<h3 id="Sử_dụng_đối_tượng_Number_để_gán_các_giá_trị_cho_các_biến_số.">Sử dụng đối tượng Number để gán các giá trị cho các biến số.</h3> + +<p>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:</p> + +<pre class="brush: js">var biggestNum = Number.MAX_VALUE; +var smallestNum = Number.MIN_VALUE; +var infiniteNum = Number.POSITIVE_INFINITY; +var negInfiniteNum = Number.NEGATIVE_INFINITY; +var notANum = Number.NaN;</pre> + +<h3 id="Phạm_vi_số_nguyên_của_Number">Phạm vi số nguyên của Number</h3> + +<p>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:</p> + +<pre class="brush: js">var biggestInt = 9007199254740992; +var smallestInt = -9007199254740992; +</pre> + +<p>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.</p> + +<h3 id="Sử_dụng_Number_để_chuyển_đổi_một_đối_tượng_Date">Sử dụng Number để chuyển đổi một đối tượng Date</h3> + +<p>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:</p> + +<pre class="brush: js">var d = new Date('October 30, 1996 13:46:36'); +console.log(Number(d)); +</pre> + +<p>Kết quả: 846657996000.</p> + +<h3 id="Chuyển_đổi_chuỗi_dạng_số_sang_số">Chuyển đổi chuỗi dạng số sang số</h3> + +<pre class="brush: js">Number("123") // 123 +Number("") // 0 +Number(" ") // 0 +Number("0x11") // 17 +Number("0b11") // 3 +Number("0o11") // 9 +Number("foo") // NaN +Number("100a") // NaN +</pre> + +<h2 id="Thông_số_kỹ_thuật">Thông số kỹ thuật</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Đặc điểm kỹ thuật</th> + <th scope="col">Trạng thái</th> + <th scope="col">Chú thích</th> + </tr> + <tr> + <td>{{SpecName('ES1')}}</td> + <td>{{Spec2('ES1')}}</td> + <td>Định nghĩa ban đầu. Được thực hiện trong JavaScript 1.1.</td> + </tr> + <tr> + <td>{{SpecName('ES5.1', '#sec-15.7', 'Number')}}</td> + <td>{{Spec2('ES5.1')}}</td> + <td> </td> + </tr> + <tr> + <td>{{SpecName('ES6', '#sec-number-objects', 'Number')}}</td> + <td>{{Spec2('ES6')}}</td> + <td>Đã 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")}}</td> + </tr> + <tr> + <td>{{SpecName('ESDraft', '#sec-number-objects', 'Number')}}</td> + <td>{{Spec2('ESDraft')}}</td> + <td> </td> + </tr> + </tbody> +</table> + +<h2 id="Khả_năng_tương_thích_trình_duyệt">Khả năng tương thích trình duyệt</h2> + +<div>{{CompatibilityTable}}</div> + +<div id="compat-desktop"> +<table class="compat-table"> + <tbody> + <tr> + <th>Đặc tính</th> + <th>Chrome</th> + <th>Firefox (Gecko)</th> + <th>Internet Explorer</th> + <th>Opera</th> + <th>Safari</th> + </tr> + <tr> + <td>Basic support</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + </tr> + </tbody> +</table> +</div> + +<div id="compat-mobile"> +<table class="compat-table"> + <tbody> + <tr> + <th>Đặc tính</th> + <th>Android</th> + <th>Chrome for Android</th> + <th>Firefox Mobile (Gecko)</th> + <th>IE Mobile</th> + <th>Opera Mobile</th> + <th>Safari Mobile</th> + </tr> + <tr> + <td>Basic support</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + </tr> + </tbody> +</table> +</div> + +<h2 id="Xem_thêm">Xem thêm</h2> + +<ul> + <li>{{jsxref("NaN")}}</li> + <li>The {{jsxref("Math")}} đối tượng toàn cầu</li> +</ul> diff --git a/files/vi/web/javascript/reference/global_objects/number/isfinite/index.html b/files/vi/web/javascript/reference/global_objects/number/isfinite/index.html new file mode 100644 index 0000000000..907227aa76 --- /dev/null +++ b/files/vi/web/javascript/reference/global_objects/number/isfinite/index.html @@ -0,0 +1,88 @@ +--- +title: Number.isFinite() +slug: Web/JavaScript/Reference/Global_Objects/Number/isFinite +translation_of: Web/JavaScript/Reference/Global_Objects/Number/isFinite +--- +<div>{{JSRef}}</div> + +<p>Phương thức <strong><code>Number.isFinite()</code></strong> xác định liệu giá trị truyền vào có phải một giá trị hữu hạn hay không.</p> + +<div>{{EmbedInteractiveExample("pages/js/number-isfinite.html")}}</div> + +<p class="hidden">Tài nguyên dùng cho bài viết này được lưu trữ trong một kho của GitHub. Nếu bạn muốn đóng góp cho nó, hãy clone lại <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> và gửi cho chúng tôi một pull request.</p> + +<h2 id="Cú_pháp">Cú pháp</h2> + +<pre class="syntaxbox">Number.isFinite(v<var>alue</var>)</pre> + +<h3 id="Tham_số">Tham số</h3> + +<dl> + <dt><code>value</code></dt> + <dd>Giá trị để kiểm tra tính hữu hạn.</dd> +</dl> + +<h3 id="Giá_trị_trả_về">Giá trị trả về</h3> + +<p>Giá trị {{jsxref("Boolean")}} cho biết liệu giá trị truyền vào có phải hữu hạn hay không.</p> + +<h2 id="Mô_tả">Mô tả</h2> + +<p>So sánh với hàm global {{jsxref("isFinite", "isFinite()")}}, phương thức này không ép kiểu tham số truyền vào thành kiểu số. Nghĩa là chỉ những giá trị có kiểu số, đồng thời có giá trị hữu hạn, mới trả về <code>true</code>.</p> + +<h2 id="Ví_dụ">Ví dụ</h2> + +<pre class="brush: js">Number.isFinite(Infinity); // false +Number.isFinite(NaN); // false +Number.isFinite(-Infinity); // false + +Number.isFinite(0); // true +Number.isFinite(2e64); // true + +Number.isFinite('0'); // false, sẽ thành true nếu dùng + // global isFinite('0') +Number.isFinite(null); // false, sẽ thành true nếu dùng + // global isFinite(null) +</pre> + +<h2 id="Polyfill">Polyfill</h2> + +<pre class="brush: js">if (Number.isFinite === undefined) Number.isFinite = function(value) { + return typeof value === 'number' && isFinite(value); +} +</pre> + +<h2 id="Đặc_tả">Đặc tả</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Đặc tả</th> + <th scope="col">Trạng thái</th> + <th scope="col">Ghi chú</th> + </tr> + <tr> + <td>{{SpecName('ES6', '#sec-number.isfinite', 'Number.isInteger')}}</td> + <td>{{Spec2('ES6')}}</td> + <td>Định nghĩa lần đầu.</td> + </tr> + <tr> + <td>{{SpecName('ESDraft', '#sec-number.isfinite', 'Number.isInteger')}}</td> + <td>{{Spec2('ESDraft')}}</td> + <td> </td> + </tr> + </tbody> +</table> + +<h2 id="Trình_duyệt_hỗ_trợ">Trình duyệt hỗ trợ</h2> + +<p class="hidden">Bảng trình duyệt hỗ trợ trong trang này được sinh từ cấu trúc dữ liệu. Nếu bạn muốn đóng góp cho khối dữ liệu, hãy xem qua <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> và gửi cho chúng tôi pull request.</p> + +<p>{{Compat("javascript.builtins.Number.isFinite")}}</p> + +<h2 id="Xem_thêm">Xem thêm</h2> + +<ul> + <li>Đối tượng {{jsxref("Number")}} mà phương thức thuộc về.</li> + <li>The global function {{jsxref("isFinite")}}.</li> +</ul> diff --git a/files/vi/web/javascript/reference/global_objects/number/isinteger/index.html b/files/vi/web/javascript/reference/global_objects/number/isinteger/index.html new file mode 100644 index 0000000000..522ff1945a --- /dev/null +++ b/files/vi/web/javascript/reference/global_objects/number/isinteger/index.html @@ -0,0 +1,88 @@ +--- +title: Number.isInteger() +slug: Web/JavaScript/Reference/Global_Objects/Number/isInteger +tags: + - JavaScript + - Method + - Number + - Reference +translation_of: Web/JavaScript/Reference/Global_Objects/Number/isInteger +--- +<div>{{JSRef}}</div> + +<p>Phương thức <strong><code>Number.isInteger()</code></strong> xác định xem giá trị truyền vô có phải là một integer hay không.</p> + +<h2 id="Cú_pháp">Cú pháp</h2> + +<pre class="syntaxbox"><code>Number.isInteger(v<var>alue</var>)</code></pre> + +<h3 id="Parameters">Parameters</h3> + +<dl> + <dt><code>value</code></dt> + <dd>Giá trị cần kiểm tra xem nó có phải là một integer hay không.</dd> +</dl> + +<h2 id="Mô_tả">Mô tả</h2> + +<p>Nếu giá trị mà bạn truyền vô trong phương thức này là một integer, kết quả trả về sẽ là <code>true</code>, ngược lại thì trả về<code> false</code>. Nếu giá trị đó là<font face="consolas, Liberation Mono, courier, monospace"> </font>{{jsxref("NaN")}} hoặc các giá trị Infinity thì đương nhiên vẫn trả về<code> false</code>.</p> + +<h2 id="Các_ví_dụ">Các ví dụ</h2> + +<pre class="brush: js">Number.isInteger(0); // true +Number.isInteger(1); // true +Number.isInteger(-100000); // true + +Number.isInteger(0.1); // false +Number.isInteger(Math.PI); // false + +Number.isInteger(Infinity); // false +Number.isInteger(-Infinity); // false +Number.isInteger("10"); // false +Number.isInteger(true); // false +Number.isInteger(false); // false +Number.isInteger([1]); // false +</pre> + +<h2 id="Polyfill">Polyfill</h2> + +<pre class="brush: js">Number.isInteger = Number.isInteger || function(value) { + return typeof value === "number" && + isFinite(value) && + Math.floor(value) === value; +}; +</pre> + +<h2 id="Specifications">Specifications</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Specification</th> + <th scope="col">Status</th> + <th scope="col">Comment</th> + </tr> + <tr> + <td>{{SpecName('ES6', '#sec-number.isinteger', 'Number.isInteger')}}</td> + <td>{{Spec2('ES6')}}</td> + <td>Initial definition.</td> + </tr> + <tr> + <td>{{SpecName('ESDraft', '#sec-number.isinteger', 'Number.isInteger')}}</td> + <td>{{Spec2('ESDraft')}}</td> + <td> </td> + </tr> + </tbody> +</table> + +<h2 id="Trình_duyệt_hỗ_trợ">Trình duyệt hỗ trợ</h2> + +<p>{{Compat("javascript.builtins.Number.isInteger")}}</p> + +<div> </div> + +<h2 id="Xem_thêm">Xem thêm</h2> + +<ul> + <li>Các đối tượng thuộc {{jsxref("Number")}}.</li> +</ul> diff --git a/files/vi/web/javascript/reference/global_objects/number/isnan/index.html b/files/vi/web/javascript/reference/global_objects/number/isnan/index.html new file mode 100644 index 0000000000..a4497d6dae --- /dev/null +++ b/files/vi/web/javascript/reference/global_objects/number/isnan/index.html @@ -0,0 +1,99 @@ +--- +title: Number.isNaN() +slug: Web/JavaScript/Reference/Global_Objects/Number/isNaN +tags: + - ECMAScript 2015 + - JavaScript + - Method + - Number +translation_of: Web/JavaScript/Reference/Global_Objects/Number/isNaN +--- +<div>{{JSRef}}</div> + +<p>Phương thức <strong><code>Number.isNaN()</code></strong> (NaN viết tắt cho Not a Number) xác định xem giá trị đó có <em><strong>chính xác</strong></em> là {{jsxref("NaN")}} hay không. Một phiên bản khác của phương thức này, nhưng nằm trong phạm vi global đó là: {{jsxref("isNaN", "isNaN()")}}.</p> + +<h2 id="Cú_pháp">Cú pháp</h2> + +<pre class="syntaxbox"><code>Number.isNaN(v<var>alue</var>)</code></pre> + +<h3 id="Parameters">Parameters</h3> + +<dl> + <dt><code>value</code></dt> + <dd>Giá trị truyền vô để kiểm tra xem nó có phải chính xác là {{jsxref("NaN")}} hay không.</dd> +</dl> + +<h2 id="Mô_tả">Mô tả</h2> + +<p>Cả hai phương pháp operator so sánh bằng, đó là {{jsxref("Operators/Comparison_Operators", "==", "#Equality")}} và {{jsxref("Operators/Comparison_Operators", "===", "#Identity")}} đề trả ra <code>false</code> khi chúng ta kiểm tra giá trị {{jsxref("NaN")}}<em>là</em> {{jsxref("NaN")}} ví dụ: NaN === NaN, (đáng lẽ ra là true đúng không ?, nhưng thực tế giá trị NaN này không thể được xác định bằng cách này.), phương thức <code>Number.isNaN()</code> được tạo ra để làm việc này. Phương pháp này đưa ra 1 giải pháp để xác định NaN, NaN là một giá trị mà không thể so sánh với chính nó để kiểm tra như các giá trị khác trong JavaScript.</p> + +<p>{{jsxref("isNaN", "isNaN()")}} là phương thức kiểm tra NaN trong phạm vi global, lưu ý là <code>Number.isNaN()</code> không giống như<code> isNaN() </code>trong global, <code>Number.isNaN() </code>xác định chính xác {{jsxref("NaN")}} đó có phải là giá trị {{jsxref("NaN")}} của Number hay không. Vì, chỉ có NaN thật sự mới đưa ra được giá trị true khi mang vô phương thức này. Khác với global, miễn cái gì không phải là số thì cũng trả ra giá trị là true.</p> + +<h2 id="Các_ví_dụ">Các ví dụ</h2> + +<pre class="brush: js">Number.isNaN(NaN); // true +Number.isNaN(Number.NaN); // true +Number.isNaN(0 / 0) // true + +// e.g. these would have been true with global isNaN() +Number.isNaN("NaN"); // false +Number.isNaN(undefined); // false +Number.isNaN({}); // false +Number.isNaN("blabla"); // false + +// These all return false +Number.isNaN(true); +Number.isNaN(null); +Number.isNaN(37); +Number.isNaN("37"); +Number.isNaN("37.37"); +Number.isNaN(""); +Number.isNaN(" "); +</pre> + +<h2 id="Polyfill">Polyfill</h2> + +<pre class="brush: js">Number.isNaN = Number.isNaN || function(value) { + return typeof value === "number" && isNaN(value); +} + +// Or +Number.isNaN = Number.isNaN || function(value) { + return value !== value; +} +</pre> + +<h2 id="Specifications">Specifications</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Specification</th> + <th scope="col">Status</th> + <th scope="col">Comment</th> + </tr> + <tr> + <td>{{SpecName('ES6', '#sec-number.isnan', 'Number.isnan')}}</td> + <td>{{Spec2('ES6')}}</td> + <td>Initial definition.</td> + </tr> + <tr> + <td>{{SpecName('ESDraft', '#sec-number.isnan', 'Number.isnan')}}</td> + <td>{{Spec2('ESDraft')}}</td> + <td> </td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility">Browser compatibility</h2> + +<div>{{Compat("javascript.builtins.Number.isNaN")}}</div> + +<div> </div> + +<h2 id="See_also">See also</h2> + +<ul> + <li>{{jsxref("Number")}}</li> + <li>{{jsxref("isNaN", "isNaN()")}}</li> +</ul> diff --git a/files/vi/web/javascript/reference/global_objects/number/issafeinteger/index.html b/files/vi/web/javascript/reference/global_objects/number/issafeinteger/index.html new file mode 100644 index 0000000000..f49bf8d30e --- /dev/null +++ b/files/vi/web/javascript/reference/global_objects/number/issafeinteger/index.html @@ -0,0 +1,94 @@ +--- +title: Number.isSafeInteger() +slug: Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger +translation_of: Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger +--- +<div>{{JSRef}}</div> + +<p>Phương thức <strong><code>Number.isSafeInteger()</code></strong> xác định xem giá trị truyền vào có phải một số nằm trong khoảng của <dfn>số nguyên an toàn</dfn> hay không.</p> + +<div>{{EmbedInteractiveExample("pages/js/number-issafeinteger.html")}}</div> + +<p class="hidden">Tài nguyên dùng cho bài viết này được lưu trữ trong một kho của GitHub. Nếu bạn muốn đóng góp cho nó, hãy clone lại <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> và gửi cho chúng tôi một pull request.</p> + +<p>Số nguyên an toàn là số nguyên mà</p> + +<ul> + <li>có thể được biểu diễn chính xác theo chuẩn số nguyên độ chính xác kép IEEE-754, và</li> + <li>cách biểu diễn theo chuẩn IEEE-754 đó không thể bằng kết quả của một phép làm tròn số nguyên khác theo chuẩn biểu diễn IEEE-754.</li> +</ul> + +<p>Chẳng hạn, <code>2<sup>53</sup> - 1</code> là một số nguyên an toàn: nó có thể hiển thị chính xác, và không có số nguyên nào có thể làm tròn đến nó với bất cứ chế độ làm tròn theo chuẩn IEEE-754. Ngoài ra, <code>2<sup>53</sup></code> <em>không phải</em> là một số nguyên an toàn: nó có thể được biểu diễn chính xác theo chuẩn IEEE-754, nhưng số nguyên <code>2<sup>53</sup> + 1</code> không thể hiển thị chính xác theo chuẩn IEEE-754 mà thay vào đó được làm tròn về <code>2<sup>53</sup></code> theo kiểu làm tròn về số gần nhất và làm tròn về không. Số nguyên an toàn nằm trong đoạn từ <code>-(2<sup>53</sup> - 1)</code> đến <code>2<sup>53</sup> - 1</code> (± <code>9007199254740991</code>hoặc ±9,007,199,254,740,991).</p> + +<p>Xử lý giá trị lớn hơn hoặc nhỏ hơn ~9 triệu tỉ với độ chính xác toàn vẹn yêu cầu sử dụng <a href="https://en.wikipedia.org/wiki/Arbitrary-precision_arithmetic">thư viện số học độ chính xác bất kì</a>. Xem <a href="http://floating-point-gui.de/">What Every Programmer Needs to Know about Floating Point Arithmetic</a> để biết thêm thông tin về cách biểu diễn số thực dấu phẩy động.</p> + +<h2 id="Cú_pháp">Cú pháp</h2> + +<pre class="syntaxbox"><code>Number.isSafeInteger(<var>testValue</var>)</code> +</pre> + +<h3 id="Tham_số">Tham số</h3> + +<dl> + <dt><code>testValue</code></dt> + <dd>Giá trị để kiểm tra có phải số nguyên an toàn hay không.</dd> +</dl> + +<h3 id="Giá_trị_trả_về">Giá trị trả về</h3> + +<p>{{jsxref("Boolean")}} cho biết liệu giá trị truyền vào có phải là số nguyên an toàn hay không.</p> + +<h2 id="Ví_dụ">Ví dụ</h2> + +<pre class="brush: js">Number.isSafeInteger(3); // true +Number.isSafeInteger(Math.pow(2, 53)); // false +Number.isSafeInteger(Math.pow(2, 53) - 1); // true +Number.isSafeInteger(NaN); // false +Number.isSafeInteger(Infinity); // false +Number.isSafeInteger('3'); // false +Number.isSafeInteger(3.1); // false +Number.isSafeInteger(3.0); // true +</pre> + +<h2 id="Polyfill">Polyfill</h2> + +<pre class="brush: js">Number.isSafeInteger = Number.isSafeInteger || function (value) { + return Number.isInteger(value) && Math.abs(value) <= Number.MAX_SAFE_INTEGER; +}; +</pre> + +<h2 id="Đặc_tả">Đặc tả</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Đặc tả</th> + <th scope="col">Trạng thái</th> + <th scope="col">Ghi chú</th> + </tr> + <tr> + <td>{{SpecName('ES2015', '#sec-number.issafeinteger', 'Number.isSafeInteger')}}</td> + <td>{{Spec2('ES2015')}}</td> + <td>Định nghĩa lần đầu.</td> + </tr> + <tr> + <td>{{SpecName('ESDraft', '#sec-number.issafeinteger', 'Number.isSafeInteger')}}</td> + <td>{{Spec2('ESDraft')}}</td> + <td> </td> + </tr> + </tbody> +</table> + +<h2 id="Trình_duyệt_hỗ_trợ">Trình duyệt hỗ trợ</h2> + +<p class="hidden">Bảng trình duyệt hỗ trợ trong trang này được sinh từ cấu trúc dữ liệu. Nếu bạn muốn đóng góp cho khối dữ liệu, hãy xem qua <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> và gửi cho chúng tôi pull request.</p> + +<p>{{Compat("javascript.builtins.Number.isSafeInteger")}}</p> + +<h2 id="Xem_thêm">Xem thêm</h2> + +<ul> + <li>Đối tượng {{jsxref("Number")}}.</li> + <li>{{jsxref("Number.MIN_SAFE_INTEGER")}}</li> + <li>{{jsxref("Number.MAX_SAFE_INTEGER")}}</li> +</ul> diff --git a/files/vi/web/javascript/reference/global_objects/number/max_safe_integer/index.html b/files/vi/web/javascript/reference/global_objects/number/max_safe_integer/index.html new file mode 100644 index 0000000000..7ae2ab0657 --- /dev/null +++ b/files/vi/web/javascript/reference/global_objects/number/max_safe_integer/index.html @@ -0,0 +1,71 @@ +--- +title: Number.MAX_SAFE_INTEGER +slug: Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER +translation_of: Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER +--- +<div>{{JSRef}}</div> + +<p>Hằng <strong><code>Number.MAX_SAFE_INTEGER</code></strong> biểu diễn giá trị số nguyên an toàn lớn nhất trong JavaScript (<code>2<sup>53</sup> - 1</code>).</p> + +<div>{{EmbedInteractiveExample("pages/js/number-maxsafeinteger.html")}}</div> + +<p class="hidden">Tài nguyên dùng cho bài viết này được lưu trữ trong một kho của GitHub. Nếu bạn muốn đóng góp cho nó, hãy clone lại <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> và gửi cho chúng tôi một pull request.</p> + +<div>{{js_property_attributes(0, 0, 0)}}</div> + +<h2 id="Mô_tả">Mô tả</h2> + +<p>Hằng <code>MAX_SAFE_INTEGER</code> có giá trị là <code>9007199254740991</code>(9,007,199,254,740,991 hay là ~9 triệu tỉ). Nguyên do đằng sau con số đó là do JavaScript sử dụng <a href="http://en.wikipedia.org/wiki/Double_precision_floating-point_format">số thực dấu phẩy động độ chính xác kép</a> được đặc tả trong chuẩn <a href="http://en.wikipedia.org/wiki/IEEE_floating_point">IEEE 754</a> và chỉ có thể biểu diễn an toàn các số trong khoảng <code>-(2<sup>53</sup> - 1)</code> và <code>2<sup>53</sup> - 1</code>.</p> + +<p>An toàn trong ngữ cảnh này ám chỉ khả năng biểu diễn cũng như so sánh số nguyên một cách chính xác. Chẳng hạn,<code>Number.MAX_SAFE_INTEGER+1 === Number.MAX_SAFE_INTEGER+2</code> sẽ trả về true, theo toán học thì là sai. Xem {{jsxref("Number.isSafeInteger()")}} để biết thêm chi tiết.</p> + +<p>Bởi vì <code>MAX_SAFE_INTEGER</code> là một thuộc tính tĩnh của {{jsxref("Number")}}, bạn thường dùng nó bằng <code>Number.MAX_SAFE_INTEGER</code>, thay vì tự tạo ra thuộc tính cho object {{jsxref("Number")}}.</p> + +<h2 id="Ví_dụ">Ví dụ</h2> + +<pre class="brush: js">Number.MAX_SAFE_INTEGER // 9007199254740991 +Number.MAX_SAFE_INTEGER * Number.EPSILON // 2 bởi vì đối với số thực dấu phẩy động, giá trị thực tế chính là the decimal trailing "1" + // ngoại trừ trường hợp có độ chính xác subnormal như là zero (0) +</pre> + +<h2 id="Polyfill">Polyfill</h2> + +<pre class="brush: js">if (!Number.MAX_SAFE_INTEGER) { + Number.MAX_SAFE_INTEGER = Math.pow(2, 53) - 1; // 9007199254740991 +} +</pre> + +<h2 id="Đặc_tả">Đặc tả</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Đặc tả</th> + <th scope="col">Trạng thái</th> + <th scope="col">Ghi chú</th> + </tr> + <tr> + <td>{{SpecName('ES2015', '#sec-number.max_safe_integer', 'Number.MAX_SAFE_INTEGER')}}</td> + <td>{{Spec2('ES2015')}}</td> + <td>Định nghĩa lần đầu.</td> + </tr> + <tr> + <td>{{SpecName('ESDraft', '#sec-number.max_safe_integer', 'Number.MAX_SAFE_INTEGER')}}</td> + <td>{{Spec2('ESDraft')}}</td> + <td> </td> + </tr> + </tbody> +</table> + +<h2 id="Trình_duyệt_hỗ_trợ">Trình duyệt hỗ trợ</h2> + +<p class="hidden">Bảng trình duyệt hỗ trợ trong trang này được sinh từ cấu trúc dữ liệu. Nếu bạn muốn đóng góp cho khối dữ liệu, hãy xem qua <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> và gửi cho chúng tôi pull request.</p> + +<p>{{Compat("javascript.builtins.Number.MAX_SAFE_INTEGER")}}</p> + +<h2 id="Xem_thêm">Xem thêm</h2> + +<ul> + <li>{{jsxref("Number.MIN_SAFE_INTEGER")}}</li> + <li>{{jsxref("Number.isSafeInteger()")}}</li> +</ul> diff --git a/files/vi/web/javascript/reference/global_objects/number/min_safe_integer/index.html b/files/vi/web/javascript/reference/global_objects/number/min_safe_integer/index.html new file mode 100644 index 0000000000..4a3ecf1a76 --- /dev/null +++ b/files/vi/web/javascript/reference/global_objects/number/min_safe_integer/index.html @@ -0,0 +1,61 @@ +--- +title: Number.MIN_SAFE_INTEGER +slug: Web/JavaScript/Reference/Global_Objects/Number/MIN_SAFE_INTEGER +translation_of: Web/JavaScript/Reference/Global_Objects/Number/MIN_SAFE_INTEGER +--- +<div>{{JSRef}}</div> + +<p>The <strong><code>Number.MIN_SAFE_INTEGER</code></strong> biểu diễn giá trị số nguyên an toàn lớn nhất trong JavaScript (<code>-(2<sup>53</sup> - 1)</code>).</p> + +<div>{{EmbedInteractiveExample("pages/js/number-min-safe-integer.html")}}</div> + +<p class="hidden">Tài nguyên dùng cho bài viết này được lưu trữ trong một kho của GitHub. Nếu bạn muốn đóng góp cho nó, hãy clone lại <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> và gửi cho chúng tôi một pull request.</p> + +<div>{{js_property_attributes(0, 0, 0)}}</div> + +<h2 id="Mô_tả">Mô tả</h2> + +<p>Hằng <code>MAX_SAFE_INTEGER</code> có giá trị là <code>-9007199254740991</code>(-9,007,199,254,740,991 hay là khoảng âm 9 triệu tỉ). Nguyên do đằng sau con số đó là do JavaScript sử dụng <a href="http://en.wikipedia.org/wiki/Double_precision_floating-point_format">số thực dấu phẩy động độ chính xác kép</a> được đặc tả trong chuẩn <a href="http://en.wikipedia.org/wiki/IEEE_floating_point">IEEE 754</a> và chỉ có thể biểu diễn an toàn các số trong khoảng <code>-(2<sup>53</sup> - 1)</code> và <code>2<sup>53</sup> - 1</code>. Xem {{jsxref("Number.isSafeInteger()")}} để biết thêm chi tiết.</p> + +<p>Bởi vì <code>MIN_SAFE_INTEGER</code> là một thuộc tính tĩnh của {{jsxref("Number")}}, bạn thường dùng nó bằng <code>Number.MIN_SAFE_INTEGER</code>, thay vì tự tạo ra thuộc tính cho object {{jsxref("Number")}}.</p> + +<h2 id="Ví_dụ">Ví dụ</h2> + +<pre class="brush: js">Number.MIN_SAFE_INTEGER // -9007199254740991 +-(Math.pow(2, 53) - 1) // -9007199254740991 +</pre> + +<h2 id="Đặc_tả">Đặc tả</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Đặc tả</th> + <th scope="col">Trạng thái</th> + <th scope="col">Ghi chú</th> + </tr> + <tr> + <td>{{SpecName('ES2015', '#sec-number.min_safe_integer', 'Number.MIN_SAFE_INTEGER')}}</td> + <td>{{Spec2('ES2015')}}</td> + <td>Định nghĩa lần đầu.</td> + </tr> + <tr> + <td>{{SpecName('ESDraft', '#sec-number.min_safe_integer', 'Number.MIN_SAFE_INTEGER')}}</td> + <td>{{Spec2('ESDraft')}}</td> + <td> </td> + </tr> + </tbody> +</table> + +<h2 id="Trình_duyệt_hỗ_trợ">Trình duyệt hỗ trợ</h2> + +<p class="hidden">Bảng trình duyệt hỗ trợ trong trang này được sinh từ cấu trúc dữ liệu. Nếu bạn muốn đóng góp cho khối dữ liệu, hãy xem qua <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> và gửi cho chúng tôi pull request.</p> + +<p>{{Compat("javascript.builtins.Number.MIN_SAFE_INTEGER")}}</p> + +<h2 id="Xem_thêm">Xem thêm</h2> + +<ul> + <li>{{jsxref("Number.MAX_SAFE_INTEGER")}}</li> + <li>{{jsxref("Number.isSafeInteger()")}}</li> +</ul> diff --git a/files/vi/web/javascript/reference/global_objects/number/nan/index.html b/files/vi/web/javascript/reference/global_objects/number/nan/index.html new file mode 100644 index 0000000000..daf2661d0a --- /dev/null +++ b/files/vi/web/javascript/reference/global_objects/number/nan/index.html @@ -0,0 +1,63 @@ +--- +title: Number.NaN +slug: Web/JavaScript/Reference/Global_Objects/Number/NaN +tags: + - JavaScript + - Number + - Thuộc tính +translation_of: Web/JavaScript/Reference/Global_Objects/Number/NaN +--- +<div>{{JSRef}}</div> + +<p>Thuộc tính <strong><code>Number.NaN</code></strong> đại diện cho khái niệm Not-A-Number (Không-phải-Số). Tương đương với {{jsxref("NaN")}}.</p> + +<div>{{EmbedInteractiveExample("pages/js/number-nan.html")}}</div> + +<p>Ta không phải tạo đối tượng {{jsxref("Number")}} để truy cập vào thuộc tính tĩnh này (dùng cú pháp <code>Number.NaN</code>).</p> + +<div>{{js_property_attributes(0, 0, 0)}}</div> + +<h2 id="Thông_số_kỹ_thuật">Thông số kỹ thuật</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Thông số kỹ thuật</th> + <th scope="col">Trạng thái</th> + <th scope="col">Chú thích</th> + </tr> + <tr> + <td>{{SpecName('ES1')}}</td> + <td>{{Spec2('ES1')}}</td> + <td>Định nghĩa đầu tiên. Được đưa vào JavaScript 1.0.</td> + </tr> + <tr> + <td>{{SpecName('ES5.1', '#sec-15.7.3.4', 'Number.NaN')}}</td> + <td>{{Spec2('ES5.1')}}</td> + <td> </td> + </tr> + <tr> + <td>{{SpecName('ES6', '#sec-number.nan', 'Number.NaN')}}</td> + <td>{{Spec2('ES6')}}</td> + <td> </td> + </tr> + <tr> + <td>{{SpecName('ESDraft', '#sec-number.nan', 'Number.NaN')}}</td> + <td>{{Spec2('ESDraft')}}</td> + <td> </td> + </tr> + </tbody> +</table> + +<h2 id="Tính_tương_thích_trên_trình_duyệt">Tính tương thích trên trình duyệt</h2> + +<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p> + +<p>{{Compat("javascript.builtins.Number.NaN")}}</p> + +<h2 id="Xem_thêm">Xem thêm</h2> + +<ul> + <li>Đối tượng global {{jsxref("NaN")}}.</li> + <li>Đối tượng {{jsxref("Number")}} sở hữu thuộc tính này.</li> +</ul> diff --git a/files/vi/web/javascript/reference/global_objects/number/negative_infinity/index.html b/files/vi/web/javascript/reference/global_objects/number/negative_infinity/index.html new file mode 100644 index 0000000000..75e87a4657 --- /dev/null +++ b/files/vi/web/javascript/reference/global_objects/number/negative_infinity/index.html @@ -0,0 +1,96 @@ +--- +title: Number.NEGATIVE_INFINITY +slug: Web/JavaScript/Reference/Global_Objects/Number/NEGATIVE_INFINITY +translation_of: Web/JavaScript/Reference/Global_Objects/Number/NEGATIVE_INFINITY +--- +<div>{{JSRef}}</div> + +<p>Thuộc tính <strong><code>Number.NEGATIVE_INFINITY</code></strong> biểu diễn giá trị âm của Infinity (âm vô cực).</p> + +<div>{{EmbedInteractiveExample("pages/js/number-negative-infinity.html")}}</div> + +<p class="hidden">Tài nguyên dùng cho bài viết này được lưu trữ trong một kho của GitHub. Nếu bạn muốn đóng góp cho nó, hãy clone lại <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> và gửi cho chúng tôi một pull request.<</p> + +<p>Bạn không cần tạo đối tượng {{jsxref("Number")}} để truy cập vào đối tượng này (hãy dùng <code>Number.NEGATIVE_INFINITY</code>).</p> + +<div>{{js_property_attributes(0, 0, 0)}}</div> + +<h2 id="Mô_tả">Mô tả</h2> + +<p>Giá trị của <code>Number.NEGATIVE_INFINITY</code> cũng giống như giá trị âm của thuộc tính {{jsxref("Infinity")}} của global object.</p> + +<p>Giá trị này hành xử hơi khác so với âm vô cực trong toán học:</p> + +<ul> + <li>Bất cứ giá trị dương nào, bao gồm cả {{jsxref("Number.POSITIVE_INFINITY", "POSITIVE_INFINITY")}}, nhân với <code>NEGATIVE_INFINITY</code> trả ra <code>NEGATIVE_INFINITY</code>.</li> + <li>Bất cứ giá trị âm nào, bao gồm cả <code>NEGATIVE_INFINITY</code>, nhân với <code>NEGATIVE_INFINITY</code> trả ra {{jsxref("Number.POSITIVE_INFINITY", "POSITIVE_INFINITY")}}.</li> + <li>Bất cứ giá trị dương nào chia cho <code>NEGATIVE_INFINITY</code> trả ra âm 0.</li> + <li>Bất cứ giá trị âm nào chia cho <code>NEGATIVE_INFINITY</code> trả ra dương 0.</li> + <li>0 nhân với <code>NEGATIVE_INFINITY</code> trả ra {{jsxref("NaN")}}.</li> + <li>{{jsxref("NaN")}} nhân với <code>NEGATIVE_INFINITY</code> is {{jsxref("NaN")}}.</li> + <li><code>NEGATIVE_INFINITY</code> chia cho bất cứ giá trị âm nào ngoại trừ <code>NEGATIVE_INFINITY</code>, trả ra ra {{jsxref("Number.POSITIVE_INFINITY", "POSITIVE_INFINITY")}}.</li> + <li><code>NEGATIVE_INFINITY</code> chia cho bất cứ giá trị dương nào ngoại trừ {{jsxref("Number.POSITIVE_INFINITY", "POSITIVE_INFINITY")}} trả ra <code>NEGATIVE_INFINITY</code>.</li> + <li><code>NEGATIVE_INFINITY</code> chia cho cả <code>NEGATIVE_INFINITY</code> hay {{jsxref("Number.POSITIVE_INFINITY", "POSITIVE_INFINITY")}}, đều trả về {{jsxref("NaN")}}.</li> +</ul> + +<p>Bạn có thể dùng thuộc tính <code>Number.NEGATIVE_INFINITY</code> để xác định điều kiện xem có trả về số hữu hạn hay không. Chú ý, ngoài ra, {{jsxref("isFinite")}} sẽ hợp với trường hợp này hơn.</p> + +<h2 id="Ví_dụ">Ví dụ</h2> + +<h3 id="Sử_dụng_NEGATIVE_INFINITY">Sử dụng <code>NEGATIVE_INFINITY</code></h3> + +<p>Trong ví dụ sau đây, biến <code>smallNumber</code> được gán giá trị nhỏ hơn giá trị nhỏ nhất. Khi lệnh {{jsxref("Statements/if...else", "if")}} được thực thi, <code>smallNumber</code> có giá trị <code>-Infinity</code>, nên <code>smallNumber</code> được gán lại giá trị dễ kiểm soát hơn trước khi tiếp tục.</p> + +<pre class="brush: js">var smallNumber = (-Number.MAX_VALUE) * 2; + +if (smallNumber === Number.NEGATIVE_INFINITY) { + smallNumber = returnFinite(); +} +</pre> + +<h2 id="Đặc_tả">Đặc tả</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Đặc tả</th> + <th scope="col">Trạng thái</th> + <th scope="col">Ghi chú</th> + </tr> + <tr> + <td>{{SpecName('ES1')}}</td> + <td>{{Spec2('ES1')}}</td> + <td>Định nghĩa lần đầu. Cài đặt trong JavaScript 1.1.</td> + </tr> + <tr> + <td>{{SpecName('ES5.1', '#sec-15.7.3.5', 'Number.NEGATIVE_INFINITY')}}</td> + <td>{{Spec2('ES5.1')}}</td> + <td> </td> + </tr> + <tr> + <td>{{SpecName('ES6', '#sec-number.negative_infinity', 'Number.NEGATIVE_INFINITY')}}</td> + <td>{{Spec2('ES6')}}</td> + <td> </td> + </tr> + <tr> + <td>{{SpecName('ESDraft', '#sec-number.negative_infinity', 'Number.NEGATIVE_INFINITY')}}</td> + <td>{{Spec2('ESDraft')}}</td> + <td> </td> + </tr> + </tbody> +</table> + +<h2 id="Trình_duyệt_hỗ_trợ">Trình duyệt hỗ trợ</h2> + +<p class="hidden">Bảng trình duyệt hỗ trợ trong trang này được sinh từ cấu trúc dữ liệu. Nếu bạn muốn đóng góp cho khối dữ liệu, hãy xem qua <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> và gửi cho chúng tôi pull request.</p> + +<p>{{Compat("javascript.builtins.Number.NEGATIVE_INFINITY")}}</p> + +<h2 id="Xem_thêm">Xem thêm</h2> + +<ul> + <li>{{jsxref("Number.POSITIVE_INFINITY")}}</li> + <li>{{jsxref("Number.isFinite()")}}</li> + <li>{{jsxref("Global_Objects/Infinity", "Infinity")}}</li> + <li>{{jsxref("Global_Objects/isFinite", "isFinite()")}}</li> +</ul> diff --git a/files/vi/web/javascript/reference/global_objects/number/positive_infinity/index.html b/files/vi/web/javascript/reference/global_objects/number/positive_infinity/index.html new file mode 100644 index 0000000000..54b2db905e --- /dev/null +++ b/files/vi/web/javascript/reference/global_objects/number/positive_infinity/index.html @@ -0,0 +1,96 @@ +--- +title: Number.POSITIVE_INFINITY +slug: Web/JavaScript/Reference/Global_Objects/Number/POSITIVE_INFINITY +translation_of: Web/JavaScript/Reference/Global_Objects/Number/POSITIVE_INFINITY +--- +<div>{{JSRef}}</div> + +<p>Thuộc tính <strong><code>Number.POSITIVE_INFINITY</code></strong> biểu diễn giá trị dương Infinity (dương vô cùng).</p> + +<div>{{EmbedInteractiveExample("pages/js/number-positive-infinity.html")}}</div> + +<p class="hidden">Tài nguyên dùng cho bài viết này được lưu trữ trong một kho của GitHub. Nếu bạn muốn đóng góp cho nó, hãy clone lại <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> và gửi cho chúng tôi một pull request.</p> + +<p>Bạn không cần tạo đối tượng{{jsxref("Number")}} để truy cập vào đối tượng này (hãy dùng <code>Number.POSITIVE_INFINITY</code>).</p> + +<div>{{js_property_attributes(0, 0, 0)}}</div> + +<h2 id="Mô_tả">Mô tả</h2> + +<p>Giá trị của <code>Number.POSITIVE_INFINITY</code> cũng giống như giá trị dương của thuộc tính {{jsxref("Infinity")}} của global object.</p> + +<p>Giá trị này hành xử hơi khác so với vô cùng trong toán học:</p> + +<ul> + <li>Bất cứ giá trị dương nào, bao gồm cả <code>POSITIVE_INFINITY</code>, nhân với <code>POSITIVE_INFINITY</code> trả ra <code>POSITIVE_INFINITY</code>.</li> + <li>Bất cứ giá trị âm nào, bao gồm cả {{jsxref("Number.NEGATIVE_INFINITY", "NEGATIVE_INFINITY")}}, nhân với <code>POSITIVE_INFINITY</code> trả ra {{jsxref("Number.NEGATIVE_INFINITY", "NEGATIVE_INFINITY")}}.</li> + <li>Bất cứ giá trị dương nào chia cho <code>POSITIVE_INFINITY</code> trả ra dương 0.</li> + <li>Bất cứ giá trị âm nào chia cho <code>POSITIVE_INFINITY</code> trả ra âm 0.</li> + <li>0 nhân với <code>POSITIVE_INFINITY</code> trả ra {{jsxref("NaN")}}.</li> + <li>{{jsxref("Global_Objects/NaN", "NaN")}} nhân với <code>POSITIVE_INFINITY</code> trả ra {{jsxref("NaN")}}.</li> + <li><code>POSITIVE_INFINITY</code>, chia cho bất cứ giá trị âm nào ngoại trừ {{jsxref("Number.NEGATIVE_INFINITY", "NEGATIVE_INFINITY")}}, trả ra {{jsxref("Number.NEGATIVE_INFINITY", "NEGATIVE_INFINITY")}}.</li> + <li><code>POSITIVE_INFINITY</code>, chia cho bất cứ giá trị dương nào ngoại trừ <code>POSITIVE_INFINITY</code>, trả ra <code>POSITIVE_INFINITY</code>.</li> + <li><code>POSITIVE_INFINITY</code>, chia cho cả {{jsxref("Number.NEGATIVE_INFINITY", "NEGATIVE_INFINITY")}} hay <code>POSITIVE_INFINITY</code>, đều ra {{jsxref("NaN")}}.</li> +</ul> + +<p>Bạn có thể dùng thuộc tính <code>Number.POSITIVE_INFINITY</code> để xác định điều kiện xem có trả về số hữu hạn hay không. Chú ý, ngoài ra, {{jsxref("isFinite")}} sẽ hợp với trường hợp này hơn.</p> + +<h2 id="Ví_dụ">Ví dụ</h2> + +<h3 id="Sử_dụng_POSITIVE_INFINITY">Sử dụng <code>POSITIVE_INFINITY</code></h3> + +<p>Trong ví dụ sau đây, biến <code>bigNumber</code> được gán giá trị lớn hơn giá trị lớn nhất. Khi lệnh {{jsxref("Statements/if...else", "if")}} được thực thi, <code>bigNumber</code> có giá trị <code>Infinity</code>, nên <code>bigNumber</code> được gán lại giá trị dễ kiểm soát hơn trước khi tiếp tục.</p> + +<pre class="brush: js">var bigNumber = Number.MAX_VALUE * 2; + +if (bigNumber == Number.POSITIVE_INFINITY) { + bigNumber = returnFinite(); +} +</pre> + +<h2 id="Đặc_tả">Đặc tả</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Đặc tả</th> + <th scope="col">Trạng thái</th> + <th scope="col">Ghi chú</th> + </tr> + <tr> + <td>{{SpecName('ES1')}}</td> + <td>{{Spec2('ES1')}}</td> + <td>Định nghĩa lần đầu. Cài đặt trong JavaScript 1.1.</td> + </tr> + <tr> + <td>{{SpecName('ES5.1', '#sec-15.7.3.6', 'Number.POSITIVE_INFINITY')}}</td> + <td>{{Spec2('ES5.1')}}</td> + <td> </td> + </tr> + <tr> + <td>{{SpecName('ES6', '#sec-number.positive_infinity', 'Number.POSITIVE_INFINITY')}}</td> + <td>{{Spec2('ES6')}}</td> + <td> </td> + </tr> + <tr> + <td>{{SpecName('ESDraft', '#sec-number.positive_infinity', 'Number.POSITIVE_INFINITY')}}</td> + <td>{{Spec2('ESDraft')}}</td> + <td> </td> + </tr> + </tbody> +</table> + +<h2 id="Trình_duyệt_hỗ_trợ">Trình duyệt hỗ trợ</h2> + +<p class="hidden">Bảng trình duyệt hỗ trợ trong trang này được sinh từ cấu trúc dữ liệu. Nếu bạn muốn đóng góp cho khối dữ liệu, hãy xem qua <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> và gửi cho chúng tôi pull request.</p> + +<p>{{Compat("javascript.builtins.Number.POSITIVE_INFINITY")}}</p> + +<h2 id="Xem_thêm">Xem thêm</h2> + +<ul> + <li>{{jsxref("Number.NEGATIVE_INFINITY")}}</li> + <li>{{jsxref("Number.isFinite()")}}</li> + <li>{{jsxref("Infinity")}}</li> + <li>{{jsxref("isFinite", "isFinite()")}}</li> +</ul> |
