aboutsummaryrefslogtreecommitdiff
path: root/files/uk/web/javascript/reference/global_objects/bigint
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 14:43:23 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 14:43:23 -0500
commit218934fa2ed1c702a6d3923d2aa2cc6b43c48684 (patch)
treea9ef8ac1e1b8fe4207b6d64d3841bfb8990b6fd0 /files/uk/web/javascript/reference/global_objects/bigint
parent074785cea106179cb3305637055ab0a009ca74f2 (diff)
downloadtranslated-content-218934fa2ed1c702a6d3923d2aa2cc6b43c48684.tar.gz
translated-content-218934fa2ed1c702a6d3923d2aa2cc6b43c48684.tar.bz2
translated-content-218934fa2ed1c702a6d3923d2aa2cc6b43c48684.zip
initial commit
Diffstat (limited to 'files/uk/web/javascript/reference/global_objects/bigint')
-rw-r--r--files/uk/web/javascript/reference/global_objects/bigint/asintn/index.html78
-rw-r--r--files/uk/web/javascript/reference/global_objects/bigint/asuintn/index.html77
-rw-r--r--files/uk/web/javascript/reference/global_objects/bigint/bigint/index.html64
-rw-r--r--files/uk/web/javascript/reference/global_objects/bigint/index.html302
-rw-r--r--files/uk/web/javascript/reference/global_objects/bigint/tolocalestring/index.html123
-rw-r--r--files/uk/web/javascript/reference/global_objects/bigint/tostring/index.html93
-rw-r--r--files/uk/web/javascript/reference/global_objects/bigint/valueof/index.html57
7 files changed, 794 insertions, 0 deletions
diff --git a/files/uk/web/javascript/reference/global_objects/bigint/asintn/index.html b/files/uk/web/javascript/reference/global_objects/bigint/asintn/index.html
new file mode 100644
index 0000000000..23dc106391
--- /dev/null
+++ b/files/uk/web/javascript/reference/global_objects/bigint/asintn/index.html
@@ -0,0 +1,78 @@
+---
+title: BigInt.asIntN()
+slug: Web/JavaScript/Reference/Global_Objects/BigInt/asIntN
+tags:
+ - BigInt
+ - JavaScript
+ - Довідка
+ - метод
+translation_of: Web/JavaScript/Reference/Global_Objects/BigInt/asIntN
+---
+<div>{{JSRef}}</div>
+
+<p>Статичний метод <strong><code>BigInt.asIntN</code></strong> використовується для обертання значення BigInt до цілого числа зі знаком у діапазоні між -2<sup>width-1</sup> та 2<sup>width-1</sup>-1.</p>
+
+<div>{{EmbedInteractiveExample("pages/js/bigint-asintn.html", "taller")}}</div>
+
+<div class="hidden">The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> and send us a pull request.</div>
+
+<h2 id="Синтаксис">Синтаксис</h2>
+
+<pre class="syntaxbox notranslate">BigInt.asIntN(<var>width</var>, <var>bigint</var>);</pre>
+
+<h3 id="Параметри">Параметри</h3>
+
+<dl>
+ <dt><code><var>width</var></code></dt>
+ <dd>Кількість бітів, доступних для розміру цілого числа.</dd>
+ <dt><code><var>bigint</var></code></dt>
+ <dd>Ціле число, яке треба затиснути, щоб вмістити у надані біти.</dd>
+</dl>
+
+<h3 id="Повертає">Повертає</h3>
+
+<p>Значення <code><var>bigint</var></code> за модулем 2<sup><code><var>width</var></code></sup> у вигляді цілого числа зі знаком.</p>
+
+<h2 id="Приклади">Приклади</h2>
+
+<h3 id="Щоб_залишатись_у_64-бітному_діапазоні">Щоб залишатись у 64-бітному діапазоні</h3>
+
+<p>Метод <code>BigInt.asIntN()</code> може бути корисним, якщо потрібно залишатись у діапазоні 64-бітної арифметики.</p>
+
+<pre class="brush: js notranslate">const max = 2n ** (64n - 1n) - 1n;
+
+BigInt.asIntN(64, max);
+// ↪ 9223372036854775807n
+
+BigInt.asIntN(64, max + 1n);
+// ↪ -9223372036854775807n
+// від'ємне число, через переповнення
+</pre>
+
+<h2 id="Специфікації">Специфікації</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Специфікація</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{SpecName('ESDraft', '#sec-bigint.asintn', 'BigInt.asIntN()')}}</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
+
+
+
+<p>{{Compat("javascript.builtins.BigInt.asIntN")}}</p>
+
+<h2 id="Див._також">Див. також</h2>
+
+<ul>
+ <li>{{JSxRef("BigInt")}}</li>
+ <li>{{JSxRef("BigInt.asUintN()")}}</li>
+</ul>
diff --git a/files/uk/web/javascript/reference/global_objects/bigint/asuintn/index.html b/files/uk/web/javascript/reference/global_objects/bigint/asuintn/index.html
new file mode 100644
index 0000000000..87e7d50cd9
--- /dev/null
+++ b/files/uk/web/javascript/reference/global_objects/bigint/asuintn/index.html
@@ -0,0 +1,77 @@
+---
+title: BigInt.asUintN()
+slug: Web/JavaScript/Reference/Global_Objects/BigInt/asUintN
+tags:
+ - BigInt
+ - JavaScript
+ - Довідка
+ - метод
+translation_of: Web/JavaScript/Reference/Global_Objects/BigInt/asUintN
+---
+<div>{{JSRef}}</div>
+
+<p>Статичний метод <strong><code>BigInt.asUintN</code></strong> використовується для обертання значення BigInt до цілого беззнакового числа у діапазоні між 0 та 2<sup>width</sup>-1.</p>
+
+<div>{{EmbedInteractiveExample("pages/js/bigint-asuintn.html", "taller")}}</div>
+
+<div class="hidden">The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> and send us a pull request.</div>
+
+<h2 id="Синтаксис">Синтаксис</h2>
+
+<pre class="syntaxbox notranslate">BigInt.asUintN(<var>width</var>, <var>bigint</var>);</pre>
+
+<h3 id="Параметри">Параметри</h3>
+
+<dl>
+ <dt><code><var>width</var></code></dt>
+ <dd>Кількість бітів, доступних для розміру цілого числа.</dd>
+ <dt><code><var>bigint</var></code></dt>
+ <dd>Ціле число, яке треба затиснути, щоб вмістити у надані біти.</dd>
+</dl>
+
+<h3 id="Повертає">Повертає</h3>
+
+<p>Значення <code><var>bigint</var></code> за модулем 2<sup><code><var>width</var></code></sup> у вигляді цілого беззнакового числа.</p>
+
+<h2 id="Приклади">Приклади</h2>
+
+<h3 id="Щоб_залишатись_у_64-бітному_діапазоні">Щоб залишатись у 64-бітному діапазоні</h3>
+
+<p>Метод <code>BigInt.asUintN()</code> може бути корисним, якщо потрібно залишатись у межах 64-бітної арифметики.</p>
+
+<pre class="brush: js notranslate">const max = 2n ** 64n - 1n;
+
+BigInt.asUintN(64, max);
+// ↪ 18446744073709551615n
+
+BigInt.asUintN(64, max + 1n);
+// ↪ 0n
+// нуль, через переповнення</pre>
+
+<h2 id="Специфікації">Специфікації</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Специфікація</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{SpecName('ESDraft', '#sec-bigint.asuintn', 'BigInt.asUintN()')}}</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
+
+
+
+<p>{{Compat("javascript.builtins.BigInt.asUintN")}}</p>
+
+<h2 id="Див._також">Див. також</h2>
+
+<ul>
+ <li>{{JSxRef("BigInt")}}</li>
+ <li>{{JSxRef("BigInt.asIntN()")}}</li>
+</ul>
diff --git a/files/uk/web/javascript/reference/global_objects/bigint/bigint/index.html b/files/uk/web/javascript/reference/global_objects/bigint/bigint/index.html
new file mode 100644
index 0000000000..5181816ae3
--- /dev/null
+++ b/files/uk/web/javascript/reference/global_objects/bigint/bigint/index.html
@@ -0,0 +1,64 @@
+---
+title: Конструктор BigInt()
+slug: Web/JavaScript/Reference/Global_Objects/BigInt/BigInt
+tags:
+ - BigInt
+ - JavaScript
+ - Довідка
+ - Конструктор
+translation_of: Web/JavaScript/Reference/Global_Objects/BigInt/BigInt
+---
+<div>{{JSRef}}</div>
+
+<p>Конструктор <strong><code>BigInt()</code></strong> повертає значення типу <strong>bigint</strong>.</p>
+
+<h2 id="Синтаксис">Синтаксис</h2>
+
+<pre class="syntaxbox notranslate">BigInt(<var>value</var>);
+</pre>
+
+<h3 id="Параметри">Параметри</h3>
+
+<dl>
+ <dt><code><var>value</var></code></dt>
+ <dd>Числове значення об'єкта, що створюється. Може бути рядком або цілим числом.</dd>
+</dl>
+
+<div class="blockIndicator note">
+<p><strong>Заувага</strong>: <code>BigInt()</code> не використовується з оператором {{JSxRef("Operators/new", "new")}}.</p>
+</div>
+
+<h2 id="Приклади">Приклади</h2>
+
+<h3 id="Створення_нового_обєкта_BigInt">Створення нового об'єкта BigInt</h3>
+
+<pre class="brush: js notranslate">BigInt(123);
+// 123n
+</pre>
+
+<h2 id="Специфікації">Специфікації</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Специфікація</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{SpecName('ESDraft', '#sec-bigint-constructor', 'BigInt constructor')}}</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
+
+
+
+<p>{{Compat("javascript.builtins.BigInt.BigInt")}}</p>
+
+<h2 id="Див._також">Див. також</h2>
+
+<ul>
+ <li>Клас {{jsxref("BigInt")}}</li>
+</ul>
diff --git a/files/uk/web/javascript/reference/global_objects/bigint/index.html b/files/uk/web/javascript/reference/global_objects/bigint/index.html
new file mode 100644
index 0000000000..89ced05a5d
--- /dev/null
+++ b/files/uk/web/javascript/reference/global_objects/bigint/index.html
@@ -0,0 +1,302 @@
+---
+title: BigInt
+slug: Web/JavaScript/Reference/Global_Objects/BigInt
+tags:
+ - BigInt
+ - JavaScript
+ - Довідка
+ - Клас
+translation_of: Web/JavaScript/Reference/Global_Objects/BigInt
+---
+<div>{{JSRef}}</div>
+
+<p><span class="seoSummary"><strong><code>BigInt</code></strong> є вбудованим об'єктом, який надає можливість відображати неушкодженими числа, більші за 2<sup>53</sup> - 1</span>, тобто, за найбільше число, яке може надійно відобразити JavaScript за допомогою {{Glossary("Primitive", "примітиву")}} <a href="/uk/docs/Web/JavaScript/Reference/Global_Objects/Число"><code>Number</code></a> та яке передається константою <a href="/uk/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER"><code>Number.MAX_SAFE_INTEGER</code></a>. <strong><code>BigInt</code></strong> може використовуватись для довільно великих цілих чисел.</p>
+
+<dl>
+</dl>
+
+<h2 id="Опис">Опис</h2>
+
+<p><code>BigInt</code> утворюється додаванням <code>n</code> у кінець цілочисельного літералу — <code>10n</code> — або викликом функції <code>BigInt()</code>.</p>
+
+<pre class="brush: js notranslate">const theBiggestInt = 9007199254740991n
+
+const alsoHuge = BigInt(9007199254740991)
+// ↪ 9007199254740991n
+
+const hugeString = BigInt("9007199254740991")
+// ↪ 9007199254740991n
+
+const hugeHex = BigInt("0x1fffffffffffff")
+// ↪ 9007199254740991n
+
+const hugeBin = BigInt("0b11111111111111111111111111111111111111111111111111111")
+// ↪ 9007199254740991n
+</pre>
+
+<p>Тип <code>BigInt</code> певними рисами схожий на <a href="/uk/docs/Web/JavaScript/Reference/Global_Objects/Число"><code>Number</code></a>, але також відрізняється у кількох ключових моментах — він не може використовуватись з методами вбудованого об'єкта <a href="/uk/docs/Web/JavaScript/Reference/Global_Objects/Math"><code>Math</code></a> та не може змішуватись з екземплярами <code>Number</code> у операціях; вони мають бути приведені до одного типу. Однак, будьте обережні, перетворюючи значення туди й назад, бо <code>BigInt</code> може втратити точність при перетворенні на <code>Number</code>.</p>
+
+<h3 id="Інформація_про_тип">Інформація про тип</h3>
+
+<p>При перевірці на <code>typeof</code>, <code>BigInt</code> видасть "bigint":</p>
+
+<pre class="brush: js notranslate">typeof 1n === 'bigint' // true
+typeof BigInt('1') === 'bigint' // true
+</pre>
+
+<p>При загортанні у <code>Object</code>, <code>BigInt</code> вважатиметься звичайним типом "object":</p>
+
+<pre class="brush: js notranslate">typeof Object(1n) === 'object' // true
+</pre>
+
+<h3 id="Оператори">Оператори</h3>
+
+<p>Наступні оператори можна використовувати з <code>BigInt</code> (або з загорнутими у об'єкт <code>BigInt</code>): <code>+</code>, <code>*</code>, <code>-</code>, <code>**</code>, <code>%</code>.</p>
+
+<p><a href="/uk/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators">Бітові оператори</a> також підтримуються, окрім <code>&gt;&gt;&gt;</code> (правий зсув із заповненням нулями), оскільки числа BigInt мають знак.</p>
+
+<p>Також не підтримується унарний оператор (<code>+</code>), <a href="https://github.com/tc39/proposal-bigint/blob/master/ADVANCED.md#dont-break-asmjs">щоб не ламати asm.js</a>.</p>
+
+<pre class="brush: js notranslate">const previousMaxSafe = BigInt(Number.MAX_SAFE_INTEGER)
+// ↪ 9007199254740991n
+
+const maxPlusOne = previousMaxSafe + 1n
+// ↪ 9007199254740992n
+
+const theFuture = previousMaxSafe + 2n
+// ↪ 9007199254740993n, тепер це працює!
+
+const multi = previousMaxSafe * 2n
+// ↪ 18014398509481982n
+
+const subtr = multi – 10n
+// ↪ 18014398509481972n
+
+const mod = multi % 10n
+// ↪ 2n
+
+const bigN = 2n ** 54n
+// ↪ 18014398509481984n
+
+bigN * -1n
+// ↪ –18014398509481984n
+</pre>
+
+<p>Оператор <code>/</code> також працює, як і очікується, з повними числами.</p>
+
+<p>Однак, оскільки це <code>BigInt</code>, а не <code>BigDecimal</code>, ця операція округлить результат в бік <code>0</code> (іншими словами, вона не поверне десяткових знаків).</p>
+
+<div class="blockIndicator warning">
+<p>Дробова частина результату операції буде обрізана при використанні з <code>BigInt</code>.</p>
+</div>
+
+<pre class="brush: js notranslate">const expected = 4n / 2n
+// ↪ 2n
+
+const rounded = 5n / 2n
+// ↪ 2n, а не 2.5n
+
+</pre>
+
+<h3 id="Порівняння">Порівняння</h3>
+
+<p><code>BigInt</code> не є строго рівним <a href="/uk/docs/Web/JavaScript/Reference/Global_Objects/Число"><code>Number</code></a>, але <em>є</em> нестрого рівним:</p>
+
+<pre class="brush: js notranslate">0n === 0
+// ↪ false
+
+0n == 0
+// ↪ true</pre>
+
+<p><a href="/uk/docs/Web/JavaScript/Reference/Global_Objects/Число"><code>Number</code></a> та <code>BigInt</code> можна порівнювати звичайним чином:</p>
+
+<pre class="brush: js notranslate">1n &lt; 2
+// ↪ true
+
+2n &gt; 1
+// ↪ true
+
+2 &gt; 2
+// ↪ false
+
+2n &gt; 2
+// ↪ false
+
+2n &gt;= 2
+// ↪ true</pre>
+
+<p>Їх можна змішувати у масивах та сортувати:</p>
+
+<pre class="brush: js notranslate">const mixed = [4n, 6, -12n, 10, 4, 0, 0n]
+// ↪ [4n, 6, -12n, 10, 4, 0, 0n]
+
+mixed.sort() // звичайна поведінка при сортуванні
+// ↪ [ -12n, 0, 0n, 10, 4n, 4, 6 ]
+
+mixed.sort((a, b) =&gt; a - b)
+// не спрацює, оскільки віднімання не працює при змішуванні типів
+// TypeError: can't convert BigInt to number
+
+// сортування з потрібним порівнянням чисел
+mixed.sort((a, b) =&gt; (a &lt; b) ? -1 : ((a &gt; b) ? 1 : 0)
+// ↪ [ -12n, 0, 0n, 4n, 4, 6, 10 ]
+</pre>
+
+<p>Зауважте, що порівняння чисел <code>BigInt</code>, загорнутих у об'єкт, працюють так само, як з іншими об'єктами, вони рівні тільки при порівнянні одного й того ж самого об'єкта:</p>
+
+<pre class="brush: js notranslate">0n === Object(0n) // false
+Object(0n) === Object(0n) // false
+
+const o = Object(0n)
+o === o // true
+</pre>
+
+<h3 id="Умовні_конструкції">Умовні конструкції</h3>
+
+<p><code>BigInt</code> поводиться так само, як і <a href="/uk/docs/Web/JavaScript/Reference/Global_Objects/Число"><code>Number</code></a>, у тих випадках, де:</p>
+
+<ul>
+ <li>перетворюється на <a href="/uk/docs/Web/JavaScript/Reference/Global_Objects/Boolean"><code>Boolean</code></a>: функцією <a href="/uk/docs/Web/JavaScript/Reference/Global_Objects/Boolean"><code>Boolean</code></a>;</li>
+ <li>використовується з <a href="/uk/docs/Web/JavaScript/Reference/Operators/Logical_Operators">логічними операторами</a> <code>||</code>, <code>&amp;&amp;</code> та <code>!</code>; або</li>
+ <li>всередині умовної перевірки, наприклад, в інструкції <a href="/uk/docs/Web/JavaScript/Reference/Statements/if...else"><code>if</code></a>.</li>
+</ul>
+
+<pre class="brush: js notranslate">if (0n) {
+ console.log('Привіт з if!')
+} else {
+ console.log('Привіт з else!')
+}
+
+// ↪ "Привіт з else!"
+
+0n || 12n
+// ↪ 12n
+
+0n &amp;&amp; 12n
+// ↪ 0n
+
+Boolean(0n)
+// ↪ false
+
+Boolean(12n)
+// ↪ true
+
+!12n
+// ↪ false
+
+!0n
+// ↪ true
+</pre>
+
+<h2 id="Конструктор">Конструктор</h2>
+
+<dl>
+ <dt><a href="/uk/docs/Web/JavaScript/Reference/Global_Objects/BigInt/BigInt"><code>BigInt()</code></a></dt>
+ <dd>Створює нове значення <code>bigint</code>.</dd>
+</dl>
+
+<h2 id="Статичні_методи">Статичні методи</h2>
+
+<dl>
+ <dt><a href="/uk/docs/Web/JavaScript/Reference/Global_Objects/BigInt/asIntN"><code>BigInt.asIntN()</code></a></dt>
+ <dd>Обертає значення <code>BigInt</code> до цілого числа зі знаком у діапазоні між <code>-2<var><sup>width</sup></var><sup>-1</sup></code> та <code>2<var><sup>width</sup></var><sup>-1</sup> - 1</code>.</dd>
+ <dt><a href="/uk/docs/Web/JavaScript/Reference/Global_Objects/BigInt/asUintN"><code>BigInt.asUintN()</code></a></dt>
+ <dd>Обертає значення <code>BigInt</code> до беззнакового цілого числа у діапазоні між <code>0</code> та <code>2<var><sup>width</sup></var> - 1</code>.</dd>
+</dl>
+
+<h2 id="Методи_екземплярів">Методи екземплярів</h2>
+
+<dl>
+ <dt><a href="/uk/docs/Web/JavaScript/Reference/Global_Objects/BigInt/toLocaleString"><code>BigInt.prototype.toLocaleString()</code></a></dt>
+ <dd>Повертає рядок, який відображає число у відповідності до налаштувань мови. Заміщує метод <a href="/uk/docs/Web/JavaScript/Reference/Global_Objects/Object/toLocaleString"><code>Object.prototype.toLocaleString()</code></a>.</dd>
+ <dt><a href="/uk/docs/Web/JavaScript/Reference/Global_Objects/BigInt/toString"><code>BigInt.prototype.toString()</code></a></dt>
+ <dd>Вертає рядкове представлення вказаного об'єкта з вказаною основою системи числення. Заміщує метод <a href="/uk/docs/Web/JavaScript/Reference/Global_Objects/Object/toString"><code>Object.prototype.toString()</code></a>.</dd>
+ <dt><a href="/uk/docs/Web/JavaScript/Reference/Global_Objects/BigInt/valueOf"><code>BigInt.prototype.valueOf()</code></a></dt>
+ <dd>Вертає загорнуте примітивне значення вказаного об'єкта. Заміщує метод <a href="/uk/docs/Web/JavaScript/Reference/Global_Objects/Object/valueOf"><code>Object.prototype.valueOf()</code></a>.</dd>
+</dl>
+
+<h2 id="Рекомендації_щодо_використання">Рекомендації щодо використання</h2>
+
+<h3 id="Перетворення_типів">Перетворення типів</h3>
+
+<p>Оскільки перетворення між <a href="/uk/docs/Web/JavaScript/Reference/Global_Objects/Число"><code>Number</code></a> та <code>BigInt</code> можуть призвести до втрати точності, рекомендується використовувати лише <code>BigInt</code>, коли очікуються значення, більші за 2<sup>53</sup>, і не переключатись між двома типами.</p>
+
+<h3 id="Криптографія">Криптографія</h3>
+
+<p>Операції, що підтримуються на об'єктах <code>BigInt</code>, не є операціями сталого часу. Таким чином, об'єкти <code>BigInt</code> <a href="https://www.chosenplaintext.ca/articles/beginners-guide-constant-time-cryptography.html">непридатні для використання у криптографії</a>.</p>
+
+<h3 id="Використання_у_JSON">Використання у JSON</h3>
+
+<p>Використання <a href="/uk/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify"><code>JSON.stringify()</code></a> з будь-яким значенням <code>BigInt</code> спричинить <code>TypeError</code>, оскільки значення <code>BigInt</code> не серіалізуються у JSON за замовчуванням. Однак, ви можете за необхідності реалізувати свій власний метод <code>toJSON</code>:</p>
+
+<pre class="brush: js notranslate">BigInt.prototype.toJSON = function() { return this.toString() }</pre>
+
+<p>Тепер <code>JSON.stringify</code>, замість викидання винятку, повертає ось такий рядок:</p>
+
+<pre class="brush: js notranslate">JSON.stringify(BigInt(1))
+// '"1"'</pre>
+
+<h2 id="Приклади">Приклади</h2>
+
+<h3 id="Обчислення_простих_чисел">Обчислення простих чисел</h3>
+
+<pre class="brush: js notranslate">// Повертає true, якщо передане значення BigInt є простим числом
+function isPrime(p) {
+ for (let i = 2n; i * i &lt;= p; i++) {
+ if (p % i === 0n) return false;
+ }
+ return true
+}
+
+// Приймає BigInt в якості аргументу, повертає n-не просте число як BigInt
+function nthPrime(nth) {
+ let maybePrime = 2n
+ let prime = 0n
+
+ while (nth &gt;= 0n) {
+ if (isPrime(maybePrime)) {
+ nth--
+ prime = maybePrime
+ }
+ maybePrime++
+ }
+
+ return prime
+}
+
+nthPrime(20n)
+// ↪ 73n</pre>
+
+<h2 id="Специфікації">Специфікації</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Специфікація</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{SpecName("ESDraft", "#sec-bigint-objects", "<code>BigInt</code> objects")}}</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
+
+<div class="hidden">The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</div>
+
+<p>{{Compat("javascript.builtins.BigInt")}}</p>
+
+<h3 id="Хід_реалізації">Хід реалізації</h3>
+
+<p>Наведена нижче таблиця надає щоденний статус реалізації цієї функціональності, оскільки функціональність ще не досягла кросбраузерної стабільності. Дані генеруються запуском відповідних тестів функціональності у <a href="https://github.com/tc39/test262">Test262</a>, стандартному тестовому наборі JavaScript, на нічній збірці чи на останньому релізі рушія JavaScript кожного веб-переглядача.</p>
+
+<div>{{EmbedTest262ReportResultsTable("BigInt")}}</div>
+
+<h2 id="Див._також">Див. також</h2>
+
+<ul>
+ <li><a href="/uk/docs/Web/JavaScript/Reference/Global_Objects/Число"><code>Number</code></a></li>
+ <li><a href="/uk/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER"><code>Number.MAX_SAFE_INTEGER</code></a></li>
+</ul>
diff --git a/files/uk/web/javascript/reference/global_objects/bigint/tolocalestring/index.html b/files/uk/web/javascript/reference/global_objects/bigint/tolocalestring/index.html
new file mode 100644
index 0000000000..b5f9480b8f
--- /dev/null
+++ b/files/uk/web/javascript/reference/global_objects/bigint/tolocalestring/index.html
@@ -0,0 +1,123 @@
+---
+title: BigInt.prototype.toLocaleString()
+slug: Web/JavaScript/Reference/Global_Objects/BigInt/toLocaleString
+tags:
+ - BigInt
+ - Intl
+ - JavaScript
+ - Інтернаціоналізація
+ - метод
+translation_of: Web/JavaScript/Reference/Global_Objects/BigInt/toLocaleString
+---
+<div>{{JSRef}}</div>
+
+<p>Метод <strong><code>toLocaleString()</code></strong> повертає рядок, що відображає об'єкт BigInt у відповідності до налаштувань мови.</p>
+
+<div>{{EmbedInteractiveExample("pages/js/bigint-tolocalestring.html")}}</div>
+
+
+
+<h2 id="Синтаксис">Синтаксис</h2>
+
+<pre class="syntaxbox notranslate"><code><em>bigIntObj</em>.toLocaleString(</code><code>[locales [, options]])</code></pre>
+
+<h3 id="Параметри">Параметри</h3>
+
+<p>Аргументи <code>locales</code> та <code>options</code> налаштовують поведінку функції та дозволяють застосункам вказувати мову, чиї правила форматування мають застосовуватись. У тих реалізаціях, які ігнорують аргументи <code>locales</code> та <code>options</code>, локальні налаштування та форма поверненого рядка повністю залежать від реалізації.</p>
+
+<div>Дивіться <a href="/uk/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat/NumberFormat">конструктор <code>Intl.NumberFormat()</code></a>, щоб дізнатись подробиці щодо цих параметрів та їхнього використання.</div>
+
+<h3 id="Повертає">Повертає</h3>
+
+<p>Рядок, що відображає надане значення BigInt у відповідності до налаштувань мови.</p>
+
+<h2 id="Швидкодія">Швидкодія</h2>
+
+<p>При форматуванні великої кількості чисел краще створити об'єкт {{jsxref("NumberFormat")}} та використовувати функцію, надану його властивістю {{jsxref("NumberFormat.format")}}.</p>
+
+<h2 id="Приклади">Приклади</h2>
+
+<h3 id="Використання_toLocaleString">Використання <code>toLocaleString</code></h3>
+
+<p>При загальному використанні, без зазначення мови, повертається рядок у мовному форматі, що стоїть за замовчуванням та з початковими параметрами.</p>
+
+<pre class="brush: js notranslate">var bigint = 3500n;
+
+bigint.toLocaleString();
+// Відображає "3,500" у форматі U.S. English
+</pre>
+
+<h3 id="Використання_locales">Використання <code>locales</code></h3>
+
+<p>Цей приклад демонструє деякі варіації локалізованих форматів чисел. Щоб отримати формат мови, задіяної в інтерфейсі вашого застосутку, переконайтесь, що вказали цю мову (та, можливо, кілька запасних мов) за допомогою аргументу <code>locales</code>:</p>
+
+<pre class="brush: js notranslate">var bigint = 123456789123456789n;
+
+// В німецькій мові крапка розділяє тисячі
+console.log(bigint.toLocaleString('de-DE'));
+// → 123.456.789.123.456.789
+
+// Арабська у більшості арабськомовних країн використовує <a href="https://uk.wikipedia.org/wiki/%D0%86%D0%BD%D0%B4%D0%BE-%D0%B0%D1%80%D0%B0%D0%B1%D1%81%D1%8C%D0%BA%D0%B0_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F">Індо-арабські</a> цифри
+console.log(bigint.toLocaleString('ar-EG'));
+// → ١٢٣٬٤٥٦٬٧٨٩٬١٢٣٬٤٥٦٬٧٨٩
+
+// Індія використовує роздільники тисячі/лакх/крор
+console.log(bigint.toLocaleString('en-IN'));
+// → 1,23,45,67,89,12,34,56,789
+
+// ключ розширення nu налаштовує систему нумерації, наприклад, китайську десяткову
+console.log(bigint.toLocaleString('zh-Hans-CN-u-nu-hanidec'));
+// → 一二三,四五六,七八九,一二三,四五六,七八九
+
+// при запиті мови, яка, можливо, не підтримується, наприклад,
+// балійської, додайте запасні мови, в даному випадку це індонезійська
+console.log(bigint.toLocaleString(['ban', 'id']));
+// → 123.456.789.123.456.789
+</pre>
+
+<h3 id="Використання_options">Використання <code>options</code></h3>
+
+<p>Результат методу <code>toLocaleString</code> можна налаштувати за допомогою аргументу <code>options</code>:</p>
+
+<pre class="brush: js notranslate">var bigint = 123456789123456789n;
+
+// налаштування формату валюти
+console.log(bigint.toLocaleString('de-DE', { style: 'currency', currency: 'EUR' }));
+// → 123.456.789.123.456.789,00 €
+
+// японська єна не використовує дробові розряди
+console.log(bigint.toLocaleString('ja-JP', { style: 'currency', currency: 'JPY' }))
+// → ¥123,456,789,123,456,789
+
+// обмежити трьома значущими цифрами
+console.log(bigint.toLocaleString('en-IN', { maximumSignificantDigits: 3 }));
+// → 1,23,00,00,00,00,00,00,000
+</pre>
+
+<h2 id="Специфікації">Специфікації</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Специфікація</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ESDraft', '#sec-bigint.prototype.tolocalestring', 'BigInt.prototype.toLocaleString()')}}</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int Draft', '#sup-bigint.prototype.tolocalestring', 'BigInt.prototype.toLocaleString()')}}</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</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.BigInt.toLocaleString")}}</p>
+
+<h2 id="Див._також">Див. також</h2>
+
+<ul>
+ <li>{{jsxref("BigInt.toString()")}}</li>
+</ul>
diff --git a/files/uk/web/javascript/reference/global_objects/bigint/tostring/index.html b/files/uk/web/javascript/reference/global_objects/bigint/tostring/index.html
new file mode 100644
index 0000000000..60576ed564
--- /dev/null
+++ b/files/uk/web/javascript/reference/global_objects/bigint/tostring/index.html
@@ -0,0 +1,93 @@
+---
+title: BigInt.prototype.toString()
+slug: Web/JavaScript/Reference/Global_Objects/BigInt/toString
+tags:
+ - BigInt
+ - JavaScript
+ - метод
+translation_of: Web/JavaScript/Reference/Global_Objects/BigInt/toString
+---
+<div>{{JSRef}}</div>
+
+<p>Метод <strong><code>toString()</code></strong> вертає рядкове представлення вказаного об'єкта {{jsxref("BigInt")}}. Кінцевий символ "n" не є частиною рядка.</p>
+
+<div>{{EmbedInteractiveExample("pages/js/bigint-tostring.html")}}</div>
+
+
+
+<h2 id="Синтаксис">Синтаксис</h2>
+
+<pre class="syntaxbox notranslate"><code><var>bigIntObj</var>.toString([<var>radix</var>])</code></pre>
+
+<h3 id="Параметри">Параметри</h3>
+
+<dl>
+ <dt><code>radix</code>{{optional_inline}}</dt>
+ <dd>Необов'язковий. Ціле число в діапазоні від 2 до 36, яке вказує основу системи числення для відображення чисел.</dd>
+</dl>
+
+<h3 id="Повертає">Повертає</h3>
+
+<p>Рядкове представлення вказаного об'єкта {{jsxref("BigInt")}}.</p>
+
+<h3 id="Винятки">Винятки</h3>
+
+<dl>
+ <dt>{{jsxref("RangeError")}}</dt>
+ <dd>Якщо методу <code>toString()</code> надано основу, меншу за 2 чи більшу за 36, викидається {{jsxref("RangeError")}}.</dd>
+</dl>
+
+<h2 id="Опис">Опис</h2>
+
+<p>Об'єкт {{jsxref("BigInt")}} заміщує метод <code>toString()</code> об'єкта {{jsxref("Object")}}; він не успадковує {{jsxref("Object.prototype.toString()")}}. Для об'єктів {{jsxref( "BigInt")}} метод <code>toString()</code> вертає рядкове представлення об'єкта у вказаній системі числення.</p>
+
+<p>Метод <code>toString()</code> розбирає перший аргумент та намагається повернути рядкове представлення числа з вказаною основою <em>radix</em>. Для основ, більших за 10, літери алфавіту вказують числа, більші за 9. Наприклад, для шістнадцяткових чисел (основа 16) використовуються літери від <code>a</code> до <code>f</code>.</p>
+
+<p>Якщо аргумент <code>radix</code> не вказаний, основа вважається рівною 10.</p>
+
+<p>Якщо значення <code>bigIntObj</code> від'ємне, знак зберігається. Це відбувається, навіть якщо основа дорівнює <code>2</code>; повернений рядок - це додатне двійкове представлення числа <code>bigIntObj</code> зі знаком <code>-</code> попереду, а <strong>не</strong> <code>bigIntObj</code> у форматі доповняльного коду.</p>
+
+<h2 id="Приклади">Приклади</h2>
+
+<h3 id="Використання_toString">Використання <code>toString</code></h3>
+
+<pre class="brush: js notranslate">17n.toString(); // '17'
+66n.toString(2); // '1000010'
+254n.toString(16); // 'fe'
+-10n.toString(2);   // -1010'
+-0xffn.toString(2); // '-11111111'
+</pre>
+
+<h3 id="Відємний_нуль_у_BigInt">Від'ємний нуль у <code>BigInt</code></h3>
+
+<p>У <code>BigInt</code> не існує від'ємного нуля, оскільки не існує від'ємних нулів у цілих числах. <code>-0.0</code> є концепцією IEEE для чисел з плаваючою крапкою, яка присутня у JavaScript лише у типі {{jsxref("Число", "Number")}}.</p>
+
+<pre class="brush: js notranslate">(-0n).toString(); // '0'
+BigInt(-0).toString(); // '0'</pre>
+
+<h2 id="Специфікації">Специфікації</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Специфікація</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ESDraft', '#sec-bigint.prototype.tostring', 'BigInt.prototype.toString()')}}</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</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.BigInt.toString")}}</p>
+
+<h2 id="Див._також">Див. також</h2>
+
+<ul>
+ <li>{{jsxref("BigInt.prototype.toLocaleString()")}}</li>
+ <li>{{jsxref("BigInt.prototype.valueOf()")}}</li>
+ <li>{{jsxref("Number.prototype.toString()")}}</li>
+</ul>
diff --git a/files/uk/web/javascript/reference/global_objects/bigint/valueof/index.html b/files/uk/web/javascript/reference/global_objects/bigint/valueof/index.html
new file mode 100644
index 0000000000..c3c998995c
--- /dev/null
+++ b/files/uk/web/javascript/reference/global_objects/bigint/valueof/index.html
@@ -0,0 +1,57 @@
+---
+title: BigInt.prototype.valueOf()
+slug: Web/JavaScript/Reference/Global_Objects/BigInt/valueOf
+tags:
+ - BigInt
+ - JavaScript
+ - метод
+translation_of: Web/JavaScript/Reference/Global_Objects/BigInt/valueOf
+---
+<div>{{JSRef}}</div>
+
+<p>Метод <strong><code>valueOf()</code></strong> вертає загорнуте примітивне значення об'єкта {{jsxref("BigInt")}}.</p>
+
+<div>{{EmbedInteractiveExample("pages/js/bigint-valueof.html","shorter")}}</div>
+
+
+
+<h2 id="Синтаксис">Синтаксис</h2>
+
+<pre class="syntaxbox notranslate"><var>bigIntObj</var>.valueOf()</pre>
+
+<h3 id="Повертає">Повертає</h3>
+
+<p>BigInt, що відображає примітивне значення вказаного об'єкта {{jsxref("BigInt")}}.</p>
+
+<h2 id="Приклади">Приклади</h2>
+
+<h3 id="Використання_valueOf">Використання <code>valueOf</code></h3>
+
+<pre class="brush: js notranslate">typeof Object(1n); // object
+typeof Object(1n).valueOf(); // bigint
+</pre>
+
+<h2 id="Специфікації">Специфікації</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Специфікація</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ESDraft', '#sec-bigint.prototype.valueof', 'BigInt.prototype.valueOf()')}}</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</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.BigInt.valueOf")}}</p>
+
+<h2 id="Див._також">Див. також</h2>
+
+<ul>
+ <li>{{jsxref("BigInt.prototype.toString()")}}</li>
+</ul>