diff options
Diffstat (limited to 'files/ru/web/javascript/reference/global_objects/number/index.html')
-rw-r--r-- | files/ru/web/javascript/reference/global_objects/number/index.html | 181 |
1 files changed, 181 insertions, 0 deletions
diff --git a/files/ru/web/javascript/reference/global_objects/number/index.html b/files/ru/web/javascript/reference/global_objects/number/index.html new file mode 100644 index 0000000000..b8ea32f7d5 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/number/index.html @@ -0,0 +1,181 @@ +--- +title: Number +slug: Web/JavaScript/Reference/Global_Objects/Number +tags: + - JavaScript + - Number + - Reference +translation_of: Web/JavaScript/Reference/Global_Objects/Number +--- +<div>{{JSRef("Global_Objects", "Number")}}</div> + +<p>Объект <strong><code>Number</code></strong> является объектом-обёрткой, позволяющей вам работать с числовыми значениями. Объект <code>Number</code> создаётся через конструктор <code>Number()</code>.</p> + +<h2 id="Syntax" name="Syntax">Синтаксис</h2> + +<pre>new Number(<em>value</em>); +var <em>a</em> = new Number('123'); // a === 123 is false +var <em>b</em> = Number('123'); // b === 123 is true +<em>a</em> instanceof Number; // is true +<em>b</em> instanceof Number; // is false</pre> + +<h3 id="Parameters" name="Parameters">Параметры</h3> + +<dl> + <dt><code>value</code></dt> + <dd>Числовое значение, которое примет объект после создания.</dd> +</dl> + +<h2 id="Description" name="Description">Описание</h2> + +<p>Несколько замечаний относительно использования объекта <code>Number</code>:</p> + +<ul> + <li>Если аргумент не может быть преобразован в число, возвращается {{jsxref("Global_Objects/NaN", "NaN")}}.</li> + <li>В неконструкторном контексте (то есть, без оператора {{jsxref("Operators/new", "new")}}), объект <code>Number</code> может использоваться для проведения преобразования типов.</li> +</ul> + +<h2 id="Properties" name="Properties">Свойства</h2> + +<dl> + <dt>{{jsxref("Number.EPSILON")}} {{experimental_inline}}</dt> + <dd>Наименьший интервал между двумя представимыми числами.</dd> + <dt>{{jsxref("Number.MAX_SAFE_INTEGER")}} {{experimental_inline}}</dt> + <dd>Максимальное целое число, которое можно безопасно использовать в JavaScript (<code>2<sup>53</sup> - 1</code>).</dd> + <dt>{{jsxref("Number.MAX_VALUE")}}</dt> + <dd>Наибольшее представимое положительное число.</dd> + <dt>{{jsxref("Number.MIN_SAFE_INTEGER")}} {{experimental_inline}}</dt> + <dd>Минимальное целое число, которое можно безопасно использовать в (<code>-(2<sup>53</sup> - 1)</code>).</dd> + <dt>{{jsxref("Number.MIN_VALUE")}}</dt> + <dd>Наименьшее представимое положительное число — то есть, самое близкое к нулю положительное число (которое ещё не является нулём).</dd> + <dt>{{jsxref("Number.NaN")}}</dt> + <dd>Специальное значение для представления «не числа».</dd> + <dt>{{jsxref("Number.NEGATIVE_INFINITY")}}</dt> + <dd>Специальное значение для представления отрицательной бесконечности; возвращается при переполнении.</dd> + <dt>{{jsxref("Number.POSITIVE_INFINITY")}}</dt> + <dd>Специальное значение для представления положительной бесконечности; возвращается при переполнении.</dd> + <dt>{{jsxref("Number.prototype")}}</dt> + <dd>Позволяет добавлять свойства к объекту <code>Number</code>.</dd> +</dl> + +<div>{{jsOverrides("Function", "properties", "MAX_VALUE", "MIN_VALUE", "NaN", "NEGATIVE_INFINITY", "POSITIVE_INFINITY", "protoype")}}</div> + +<h2 id="Methods" name="Methods">Методы</h2> + +<dl> + <dt>{{jsxref("Number.isNaN()")}} {{experimental_inline}}</dt> + <dd>Определяет, является ли переданнное значение значением {{jsxref("Global_Objects/NaN", "NaN")}}.</dd> + <dt>{{jsxref("Number.isFinite()")}} {{experimental_inline}}</dt> + <dd>Определяет, является ли переданное значение конечным числом.</dd> + <dt>{{jsxref("Number.isInteger()")}} {{experimental_inline}}</dt> + <dd>Определяет, является ли тип переданного значения «числом», а само число — целым значением.</dd> + <dt>{{jsxref("Number.isSafeInteger()")}} {{experimental_inline}}</dt> + <dd>Определяет, является ли переданное значение безопасным целым числом (числом в диапазоне от <code>-(2<sup>53</sup> - 1)</code> до <code>2<sup>53</sup> - 1</code>).</dd> + <dt><s class="obsoleteElement">{{jsxref("Number.toInteger()")}} {{obsolete_inline}}</s></dt> + <dd><s class="obsoleteElement">Использовался для вычисления переданного значения и преобразования его в целое число (или бесконечность {{jsxref("Global_Objects/Infinity", "Infinity")}}), но был удалён.</s></dd> + <dt>{{jsxref("Number.parseFloat()")}} {{experimental_inline}}</dt> + <dd>Представляет собой тот же самый метод, что и метод {{jsxref("Global_Objects/parseFloat", "parseFloat")}} глобального объекта.</dd> + <dt>{{jsxref("Number.parseInt()")}} {{experimental_inline}}</dt> + <dd>Представляет собой тот же самый метод, что и метод {{jsxref("Global_Objects/parseInt", "parseInt")}} глобального объекта.</dd> +</dl> + +<div>{{jsOverrides("Function", "methods", "isNaN")}}</div> + +<h2 id="Number_instances" name="Number_instances">Экземпляры объекта <code>Number</code></h2> + +<p>Все экземпляры объекта <code>Number</code> наследуются от {{jsxref("Number.prototype")}}. Объект прототипа конструктора <code>Number</code> может быть изменён, чтобы затронуть все экземпляры объекта <code>Number</code>.</p> + +<h3 id="Methods_of_Number_instance" name="Methods_of_Number_instance">Методы</h3> + +<div>{{page('/ru/docs/Web/JavaScript/Reference/Global_Objects/Number/prototype', 'Methods')}}</div> + +<h2 id="Examples" name="Examples">Примеры</h2> + +<h3 id="Example_Using_the_Number_object_to_assign_values_to_numeric_variables" name="Example:_Using_the_Number_object_to_assign_values_to_numeric_variables">Пример: использование объекта <code>Number</code> для присваивания значений числовым переменным</h3> + +<p>В следующем примере для присваивания значений числовым переменным используются свойства объекта <code>Number</code>:</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="Example_Using_Number_to_convert_a_Date_object" name="Example:_Using_Number_to_convert_a_Date_object">Пример: целочисленный диапазон для объекта <code>Number</code></h3> + +<p>Следующий пример показывает, какие минимальное и максимальное целочисленные значения может представить объект <code>Number</code> (за подробностями обращайтесь к стандарту EcmaScript, главе <em>8.5 Тип Number</em>):</p> + +<pre class="brush: js">var biggestInt = 9007199254740992; +var smallestInt = -9007199254740992; +</pre> + +<p>При разборе данных, сериализованных в JSON, можно ожидать, что целые значения, выпадающие из этого диапазона будут повреждены, когда парсер JSON приведёт их к типу <code>Number</code>. Возможным обходным путём может быть использование объекта {{jsxref("Global_Objects/String", "String")}}.</p> + +<h3 id="Example_Using_Number_to_convert_a_Date_object" name="Example:_Using_Number_to_convert_a_Date_object">Пример: использование <code>Number</code> для преобразования объекта <code>Date</code></h3> + +<p>В следующем примере объект {{jsxref("Global_Objects/Date", "Date")}} преобразуется в числовое значение с использование объекта <code>Number</code> в качестве функции:</p> + +<pre class="brush: js">var d = new Date('December 17, 1995 03:24:00'); +console.log(Number(d)); +</pre> + +<p>Пример выведет "819199440000".</p> + +<h3 id="Example_Convert_numeric_strings_to_numbers" name="Example:_Convert_numeric_strings_to_numbers">Пример: преобразование строк с числами в числа</h3> + +<pre class="brush: js">Number('123') // 123 +Number('') // 0 +Number('0x11') // 17 +Number('0b11') // 3 +Number('0o11') // 9 +Number('foo') // NaN +Number('100a') // NaN +</pre> + +<h2 id="Specifications" name="Specifications">Спецификации</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Спецификация</th> + <th scope="col">Статус</th> + <th scope="col">Комментарии</th> + </tr> + <tr> + <td>{{SpecName('ES1')}}</td> + <td>{{Spec2('ES1')}}</td> + <td>Изначальное определение. Реализована в 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>Добавлены новые методы и свойства: ({{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="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2> + +<div class="hidden"> +<p>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> +</div> + +<p>{{Compat("javascript.builtins.Number")}}</p> + +<h2 id="See_also" name="See_also">Смотрите также</h2> + +<ul> + <li>{{jsxref("Global_Objects/NaN", "NaN")}}</li> + <li>Глобальный объект {{jsxref("Global_Objects/Math", "Math")}}</li> +</ul> |