aboutsummaryrefslogtreecommitdiff
path: root/files/uk/web/javascript/reference/errors
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/errors
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/errors')
-rw-r--r--files/uk/web/javascript/reference/errors/cant_delete/index.html59
-rw-r--r--files/uk/web/javascript/reference/errors/deprecated_tolocaleformat/index.html93
-rw-r--r--files/uk/web/javascript/reference/errors/index.html31
-rw-r--r--files/uk/web/javascript/reference/errors/invalid_for-in_initializer/index.html77
-rw-r--r--files/uk/web/javascript/reference/errors/json_bad_parse/index.html112
-rw-r--r--files/uk/web/javascript/reference/errors/more_arguments_needed/index.html46
-rw-r--r--files/uk/web/javascript/reference/errors/negative_repetition_count/index.html48
-rw-r--r--files/uk/web/javascript/reference/errors/not_a_constructor/index.html91
-rw-r--r--files/uk/web/javascript/reference/errors/not_a_function/index.html124
-rw-r--r--files/uk/web/javascript/reference/errors/resulting_string_too_large/index.html53
10 files changed, 734 insertions, 0 deletions
diff --git a/files/uk/web/javascript/reference/errors/cant_delete/index.html b/files/uk/web/javascript/reference/errors/cant_delete/index.html
new file mode 100644
index 0000000000..91369f763c
--- /dev/null
+++ b/files/uk/web/javascript/reference/errors/cant_delete/index.html
@@ -0,0 +1,59 @@
+---
+title: 'TypeError: property "x" is non-configurable and can''t be deleted'
+slug: Web/JavaScript/Reference/Errors/Cant_delete
+tags:
+ - JavaScript
+ - TypeError
+ - Строгий режим
+ - помилка
+translation_of: Web/JavaScript/Reference/Errors/Cant_delete
+---
+<div>{{jsSidebar("Errors")}}</div>
+
+<h2 id="Повідомлення">Повідомлення</h2>
+
+<pre class="syntaxbox">TypeError: Calling delete on 'x' is not allowed in strict mode (Edge)
+TypeError: property "x" is non-configurable and can't be deleted. (Firefox)
+TypeError: Cannot delete property 'x' of #&lt;Object&gt; (Chrome)
+</pre>
+
+<h2 id="Тип_помилки">Тип помилки</h2>
+
+<p>{{jsxref("TypeError")}} тільки у строгому режимі.</p>
+
+<h2 id="Що_сталось">Що сталось?</h2>
+
+<p>Була спроба видалити властивість, але ця властивість <a href="/uk/docs/Web/JavaScript/Data_structures#Properties">недоступна для налаштування</a>. Атрибут <code>configurable</code> котролює, чи властивість об'єкта може бути видалена, та чи можна змінювати її атрибути (інші, крім <code>writable</code>).</p>
+
+<p>Ця помилка виникає лише у <a href="/uk/docs/Web/JavaScript/Reference/Strict_mode">строгому режимі</a>. У нестрогому режимі оператор повертає <code>false</code>.</p>
+
+<h2 id="Приклади">Приклади</h2>
+
+<p>Властивості, недоступні для налаштування, не є дуже поширеними, але їх можна створити за допомогою {{jsxref("Object.defineProperty()")}} або {{jsxref("Object.freeze()")}}.</p>
+
+<pre class="brush: js example-bad">'use strict';
+var obj = Object.freeze({name: 'Elsa', score: 157});
+delete obj.score; // TypeError
+
+'use strict';
+var obj = {};
+Object.defineProperty(obj, 'foo', {value: 2, configurable: false});
+delete obj.foo; // TypeError
+
+'use strict';
+var frozenArray = Object.freeze([0, 1, 2]);
+frozenArray.pop(); // TypeError
+</pre>
+
+<p>Існують також кілька недоступних для налаштування властивостей, вбудованих у JavaScript. Можливо, ви намагались видалити математичну константу.</p>
+
+<pre class="brush: js example-bad">'use strict';
+delete Math.PI; // TypeError</pre>
+
+<h2 id="Див._також">Див. також</h2>
+
+<ul>
+ <li><a href="/uk/docs/Web/JavaScript/Reference/Operators/delete">Оператор delete</a></li>
+ <li>{{jsxref("Object.defineProperty()")}}</li>
+ <li>{{jsxref("Object.freeze()")}}</li>
+</ul>
diff --git a/files/uk/web/javascript/reference/errors/deprecated_tolocaleformat/index.html b/files/uk/web/javascript/reference/errors/deprecated_tolocaleformat/index.html
new file mode 100644
index 0000000000..226aba7150
--- /dev/null
+++ b/files/uk/web/javascript/reference/errors/deprecated_tolocaleformat/index.html
@@ -0,0 +1,93 @@
+---
+title: 'Warning: Date.prototype.toLocaleFormat is deprecated'
+slug: Web/JavaScript/Reference/Errors/Deprecated_toLocaleFormat
+tags:
+ - Error
+ - JavaScript
+ - застереження
+translation_of: Web/JavaScript/Reference/Errors/Deprecated_toLocaleFormat
+---
+<div>{{jsSidebar("Errors")}}</div>
+
+<p>Застереження JavaScript "Date.prototype.toLocaleFormat is deprecated; consider using Intl.DateTimeFormat instead" виникає, коли використовується нестандартний метод {{jsxref("Date.prototype.toLocaleFormat")}}.</p>
+
+<h2 id="Повідомлення">Повідомлення</h2>
+
+<pre class="syntaxbox notranslate">Warning: Date.prototype.toLocaleFormat is deprecated; consider using Intl.DateTimeFormat instead
+</pre>
+
+<h2 id="Тип_помилки">Тип помилки</h2>
+
+<p>Застереження. Виконання JavaScript не буде зупинене.</p>
+
+<h2 id="Що_сталось">Що сталось?</h2>
+
+<p>Нестандартний метод {{jsxref("Date.prototype.toLocaleFormat")}} застарів та більше не рекомендований до використання. Він використовує рядок форматування в такому ж форматі, який очікується функцією <code>strftime()</code> у C. <strong>Функція більше недоступна у Firefox 58+</strong>.</p>
+
+<h2 id="Приклади">Приклади</h2>
+
+<h3 id="Застарілий_синтаксис">Застарілий синтаксис</h3>
+
+<p>Метод {{jsxref("Date.prototype.toLocaleFormat")}} застарів та буде прибраний (без кросбраузерної підтримки, доступний лише у Firefox).</p>
+
+<pre class="brush: js example-bad notranslate">var today = new Date();
+var date = today.toLocaleFormat('%A, %e. %B %Y');
+
+console.log(date);
+// У німецькій локалі
+// "Freitag, 10. März 2017"</pre>
+
+<h3 id="Альтернативний_стандартний_синтаксис_за_допомогою_ECMAScript_Intl_API">Альтернативний стандартний синтаксис за допомогою ECMAScript Intl API</h3>
+
+<p>Стандарт ECMA-402 (ECMAScript Intl API) визначає стандартні об'єкти та методи, які вможливлюють чутливе до мови форматування дати та часу (доступні у Chrome 24+, Firefox 29+, IE11+, Safari10+).</p>
+
+<p>Ви тепер можете або використати метод {{jsxref("Date.prototype.toLocaleDateString")}}, якщо ви бажаєте просто відформатувати одну дату.</p>
+
+<pre class="brush: js example-good notranslate">var today = new Date();
+var options = { weekday: 'long', year: 'numeric',
+ month: 'long', day: 'numeric' };
+var date = today.toLocaleDateString('de-DE', options);
+
+console.log(date);
+// "Freitag, 10. März 2017"
+</pre>
+
+<p>Або ви можете скористатись об'єктом {{jsxref("DateTimeFormat", "Intl.DateTimeFormat")}}, який дозволяє кешувати об'єкт, в якому більшість обчислень вже зроблені, тому форматування відбувається швидко. Це корисно, якщо у вас є цикл дат для форматування.</p>
+
+<pre class="brush: js example-good notranslate">var options = { weekday: 'long', year: 'numeric',
+ month: 'long', day: 'numeric' };
+var dateFormatter = new Intl.DateTimeFormat('de-DE', options)
+
+var dates = [Date.UTC(2012, 11, 20, 3, 0, 0),
+ Date.UTC(2014, 04, 12, 8, 0, 0)];
+
+dates.forEach(date =&gt; console.log(dateFormatter.format(date)));
+
+// "Donnerstag, 20. Dezember 2012"
+// "Montag, 12. Mai 2014"
+</pre>
+
+<h3 id="Альтернативний_стандартний_синтаксис_з_використанням_методів_Date">Альтернативний стандартний синтаксис з використанням методів Date</h3>
+
+<p>Об'єкт {{jsxref("Date")}} пропонує декілька методів для створення налаштованого рядка дати.</p>
+
+<pre class="brush: js example-bad notranslate">(new Date()).toLocaleFormat("%Y%m%d");
+// "20170310"
+</pre>
+
+<p>Можна перетворити на:</p>
+
+<pre class="brush: js example-good notranslate">let now = new Date();
+let date = now.getFullYear() * 10000 +
+ (now.getMonth() + 1) * 100 + now.getDate();
+
+console.log(date);
+// "20170310"</pre>
+
+<h2 id="Див._також">Див. також</h2>
+
+<ul>
+ <li>{{jsxref("Date.prototype.toLocaleFormat")}}</li>
+ <li>{{jsxref("Date.prototype.toLocaleDateString")}}</li>
+ <li>{{jsxref("DateTimeFormat", "Intl.DateTimeFormat")}}</li>
+</ul>
diff --git a/files/uk/web/javascript/reference/errors/index.html b/files/uk/web/javascript/reference/errors/index.html
new file mode 100644
index 0000000000..c295fccea6
--- /dev/null
+++ b/files/uk/web/javascript/reference/errors/index.html
@@ -0,0 +1,31 @@
+---
+title: JavaScript error reference
+slug: Web/JavaScript/Reference/Errors
+tags:
+ - Debugging
+ - Error
+ - Errors
+ - Exception
+ - JavaScript
+ - NeedsTranslation
+ - TopicStub
+ - exceptions
+translation_of: Web/JavaScript/Reference/Errors
+---
+<p>{{jsSidebar("Errors")}}</p>
+
+<p>Below, you'll find a list of errors which are thrown by JavaScript. These errors can be a helpful debugging aid, but the reported problem isn't always immediately clear. The pages below will provide additional details about these errors. Each error is an object based upon the {{jsxref("Error")}} object, and has a <code>name</code> and a <code>message</code>.</p>
+
+<p>Errors displayed in the Web console may include a link to the corresponding page below to help you quickly comprehend the problem in your code.</p>
+
+<h2 id="List_of_errors">List of errors</h2>
+
+<p>In this list, each page is listed by name (the type of error) and message (a more detailed human-readable error message). Together, these two properties provide a starting point toward understanding and resolving the error. For more information, follow the links below!</p>
+
+<p>{{ListSubPages("/en-US/docs/Web/JavaScript/Reference/Errors")}}</p>
+
+<h2 id="See_also">See also</h2>
+
+<ul>
+ <li><a href="/en-US/docs/Learn/JavaScript/First_steps/What_went_wrong">What went wrong? Troubleshooting JavaScript</a>: Beginner's introductory tutorial on fixing JavaScript errors.</li>
+</ul>
diff --git a/files/uk/web/javascript/reference/errors/invalid_for-in_initializer/index.html b/files/uk/web/javascript/reference/errors/invalid_for-in_initializer/index.html
new file mode 100644
index 0000000000..f856c96758
--- /dev/null
+++ b/files/uk/web/javascript/reference/errors/invalid_for-in_initializer/index.html
@@ -0,0 +1,77 @@
+---
+title: 'SyntaxError: for-in loop head declarations may not have initializers'
+slug: Web/JavaScript/Reference/Errors/Invalid_for-in_initializer
+tags:
+ - Error
+ - JavaScript
+ - SyntaxError
+ - Строгий режим
+ - помилка
+translation_of: Web/JavaScript/Reference/Errors/Invalid_for-in_initializer
+---
+<div>{{jsSidebar("Errors")}}</div>
+
+<p>Виняток, що викидається лише у <a href="/uk/docs/Web/JavaScript/Reference/Strict_mode">строгому режимі</a> JavaScript, "for-in loop head declarations may not have initializers", виникає, коли шапка циклу <a href="/uk/docs/Web/JavaScript/Reference/Statements/for...in">for...in</a> містить вираз ініціалізації, наприклад |<code>for (var i = 0 in obj)</code>|. Це не дозволено у циклах for-in у строгому режимі.</p>
+
+<h2 id="Повідомлення">Повідомлення</h2>
+
+<pre class="syntaxbox notranslate">SyntaxError: for-in loop head declarations cannot have an initializer (Edge)
+SyntaxError: for-in loop head declarations may not have initializers (Firefox)
+SyntaxError: for-in loop variable declaration may not have an initializer. (Chrome)
+</pre>
+
+<h2 id="Тип_помилки">Тип помилки</h2>
+
+<p>{{jsxref("SyntaxError")}} лише у <a href="/uk/docs/Web/JavaScript/Reference/Strict_mode">строгому режимі</a>.</p>
+
+<h2 id="Що_сталось">Що сталось?</h2>
+
+<p>Шапка циклу<a href="/uk/docs/Web/JavaScript/Reference/Statements/for...in"> for...in</a> містить вираз ініціалізації. Тобто, було оголошено змінну та присвоєно їй значення |<code>for (var i = 0 in obj)</code>|. У нестрогому режимі таке оголошення просто ігнорується та сприймається як <code>|for (var i in obj)|</code>. Однак, у <a href="/en-US/docs/Web/JavaScript/Reference/Strict_mode">строгому режимі</a> викидається помилка <code>SyntaxError</code>.</p>
+
+<h2 id="Приклади">Приклади</h2>
+
+<p>Цей приклад викидає помилку <code>SyntaxError</code>:</p>
+
+<pre class="brush: js example-bad notranslate">"use strict";
+
+var obj = {a: 1, b: 2, c: 3 };
+
+for (var i = 0 in obj) {
+ console.log(obj[i]);
+}
+
+// SyntaxError: for-in loop head declarations may not have initializers
+</pre>
+
+<h3 id="Правильний_цикл_for-in">Правильний цикл for-in</h3>
+
+<p>Ви можете прибрати ініціалізатор (<code>i = 0</code>) з шапки циклу for-in.</p>
+
+<pre class="brush: js example-good notranslate">"use strict";
+
+var obj = {a: 1, b: 2, c: 3 };
+
+for (var i in obj) {
+ console.log(obj[i]);
+}
+</pre>
+
+<h3 id="Перебір_масиву">Перебір масиву</h3>
+
+<p>Цикл for...in <a href="/en-US/docs/Web/JavaScript/Reference/Statements/for...in#Array_iteration_and_for...in">не варто використовувати для перебору масиву</a>. Чи намагались ви використати цикл <code><a href="/uk/docs/Web/JavaScript/Reference/Statements/for">for</a></code> замість <code>for-in</code> для перебору {{jsxref("Array", "масиву")}}? Цикл <code>for</code> також дозволяє використання ініціалізатора:</p>
+
+<pre class="brush: js example-good notranslate">var arr = [ "a", "b", "c" ]
+
+for (var i = 2; i &lt; arr.length; i++) {
+ console.log(arr[i]);
+}
+
+// "c"</pre>
+
+<h2 id="Див._також">Див. також</h2>
+
+<ul>
+ <li><code><a href="/uk/docs/Web/JavaScript/Reference/Statements/for...in">for...in</a></code></li>
+ <li><code><a href="/uk/docs/Web/JavaScript/Reference/Statements/for...of">for...of</a></code> – також не дозволяє ініціалізатор як у строгому, так і у нестрогому режимах.</li>
+ <li><code><a href="/uk/docs/Web/JavaScript/Reference/Statements/for">for</a></code> – найкращий для перебору масивів, дозволяє визначати ініціалізатор.</li>
+</ul>
diff --git a/files/uk/web/javascript/reference/errors/json_bad_parse/index.html b/files/uk/web/javascript/reference/errors/json_bad_parse/index.html
new file mode 100644
index 0000000000..a4f20078c6
--- /dev/null
+++ b/files/uk/web/javascript/reference/errors/json_bad_parse/index.html
@@ -0,0 +1,112 @@
+---
+title: 'SyntaxError: JSON.parse: bad parsing'
+slug: Web/JavaScript/Reference/Errors/JSON_bad_parse
+tags:
+ - JSON
+ - JavaScript
+ - Method
+ - Property
+ - SyntaxError
+ - Помилки
+translation_of: Web/JavaScript/Reference/Errors/JSON_bad_parse
+---
+<div>{{jsSidebar("Errors")}}</div>
+
+<h2 id="Повідомлення">Повідомлення</h2>
+
+<pre class="syntaxbox">SyntaxError: JSON.parse: unterminated string literal
+SyntaxError: JSON.parse: bad control character in string literal
+SyntaxError: JSON.parse: bad character in string literal
+SyntaxError: JSON.parse: bad Unicode escape
+SyntaxError: JSON.parse: bad escape character
+SyntaxError: JSON.parse: unterminated string
+SyntaxError: JSON.parse: no number after minus sign
+SyntaxError: JSON.parse: unexpected non-digit
+SyntaxError: JSON.parse: missing digits after decimal point
+SyntaxError: JSON.parse: unterminated fractional number
+SyntaxError: JSON.parse: missing digits after exponent indicator
+SyntaxError: JSON.parse: missing digits after exponent sign
+SyntaxError: JSON.parse: exponent part is missing a number
+SyntaxError: JSON.parse: unexpected end of data
+SyntaxError: JSON.parse: unexpected keyword
+SyntaxError: JSON.parse: unexpected character
+SyntaxError: JSON.parse: end of data while reading object contents
+SyntaxError: JSON.parse: expected property name or '}'
+SyntaxError: JSON.parse: end of data when ',' or ']' was expected
+SyntaxError: JSON.parse: expected ',' or ']' after array element
+SyntaxError: JSON.parse: end of data when property name was expected
+SyntaxError: JSON.parse: expected double-quoted property name
+SyntaxError: JSON.parse: end of data after property name when ':' was expected
+SyntaxError: JSON.parse: expected ':' after property name in object
+SyntaxError: JSON.parse: end of data after property value in object
+SyntaxError: JSON.parse: expected ',' or '}' after property value in object
+SyntaxError: JSON.parse: expected ',' or '}' after property-value pair in object literal
+SyntaxError: JSON.parse: property names must be double-quoted strings
+SyntaxError: JSON.parse: expected property name or '}'
+SyntaxError: JSON.parse: unexpected character
+SyntaxError: JSON.parse: unexpected non-whitespace character after JSON data
+</pre>
+
+<h2 id="Тип_помилки">Тип помилки</h2>
+
+<p>{{jsxref("Global_Objects/SyntaxError", "SyntaxError")}}</p>
+
+<h2 id="Що_трапилося">Що трапилося?</h2>
+
+<p>Метод {{jsxref("JSON.parse()")}} здійснює розбір JSON в переданому рядку. Він викидає цю помилку, якщо рядок містить неправильний JSON (виявлено неналежний синтаксис).</p>
+
+<h2 id="Приклади">Приклади</h2>
+
+<h3 id="JSON.parse()_не_дозволяє_використовувати_прикінцеві_коми"><code>JSON.parse()</code> не дозволяє використовувати прикінцеві коми</h3>
+
+<p>Обидва наведені рядки викидають SyntaxError:</p>
+
+<pre class="brush: js example-bad">JSON.parse('[1, 2, 3, 4,]');
+JSON.parse('{"foo": 1,}');
+// SyntaxError JSON.parse: unexpected character
+// at line 1 column 14 of the JSON data
+</pre>
+
+<p>Задля належного розбору JSON оминайте використання прикінцевих ком:</p>
+
+<pre class="brush: js example-good">JSON.parse('[1, 2, 3, 4]');
+JSON.parse('{"foo": 1}');</pre>
+
+<h3 id="Ім'я_властивості_має_бути_рядком_в_подвійних_лапках">Ім'я властивості має бути рядком в подвійних лапках</h3>
+
+<p>Не можна використовувати одинарні лапки, як-от 'foo':</p>
+
+<pre class="brush: js example-bad">JSON.parse("{'foo': 1}");
+// SyntaxError: JSON.parse: expected property name or '}'
+// at line 1 column 2 of the JSON data</pre>
+
+<p>Натомість має бути "foo":</p>
+
+<pre class="brush: js example-good">JSON.parse('{"foo": 1}');</pre>
+
+<h3 id="Провідні_нулі_та_десяткові_крапки">Провідні нулі та десяткові крапки</h3>
+
+<p>Не можна вказувати провідні нулі (як у числі 01) та розділові крапки без якнайменше одного десяткового знака:</p>
+
+<pre class="brush: js example-bad">JSON.parse('{"foo": 01}');
+// SyntaxError: JSON.parse: expected ',' or '}' after property value
+// in object at line 1 column 2 of the JSON data
+
+JSON.parse('{"foo": 1.}');
+// SyntaxError: JSON.parse: unterminated fractional number
+// at line 1 column 2 of the JSON data
+</pre>
+
+<p>Провідні нулі приберіть, а на місці відсутніх десяткових знаків (якщо жодного значущого немає) напишіть просто нуль:</p>
+
+<pre class="brush: js example-good">JSON.parse('{"foo": 1}');
+JSON.parse('{"foo": 1.0}');
+</pre>
+
+<h2 id="Див._також">Див. також</h2>
+
+<ul>
+ <li>{{jsxref("JSON")}}</li>
+ <li>{{jsxref("JSON.parse()")}}</li>
+ <li>{{jsxref("JSON.stringify()")}}</li>
+</ul>
diff --git a/files/uk/web/javascript/reference/errors/more_arguments_needed/index.html b/files/uk/web/javascript/reference/errors/more_arguments_needed/index.html
new file mode 100644
index 0000000000..c0ede70788
--- /dev/null
+++ b/files/uk/web/javascript/reference/errors/more_arguments_needed/index.html
@@ -0,0 +1,46 @@
+---
+title: 'TypeError: More arguments needed'
+slug: Web/JavaScript/Reference/Errors/More_arguments_needed
+translation_of: Web/JavaScript/Reference/Errors/More_arguments_needed
+---
+<div>{{jsSidebar("Errors")}}</div>
+
+<h2 id="Помилка">Помилка</h2>
+
+<pre class="syntaxbox">TypeError: Object.create requires more than 0 arguments
+TypeError: Object.setPrototypeOf requires more than 1 argument
+TypeError: Object.defineProperties requires more than 0 arguments
+</pre>
+
+<h2 id="Тип_помилки">Тип помилки</h2>
+
+<p>{{jsxref("TypeError")}}.</p>
+
+<h2 id="Щось_пішло_не_так">Щось пішло не так?</h2>
+
+<p>Для виконання функції потрібні аргументи функції. Справа в тому, що для виконання функції потрібні параметри, ви повинні вказати їх на початок визову функції, в дужках.</p>
+
+<h2 id="Приклади">Приклади</h2>
+
+<p>Визов Object.create() функції потребує щонайменьше один! аргумент.</p>
+
+<p>Визов Object.setPrototypeOf({}) методу(функції) потребує два! аргументи.</p>
+
+<pre class="brush: js example-bad">var obj = Object.create();
+// TypeError: Object.create requires more than 0 arguments
+
+var obj = Object.setPrototypeOf({});
+// TypeError: Object.setPrototypeOf requires more than 1 argument
+</pre>
+
+<p>Це можливо виправити вказавши аргументи функції під час визову, наприклад:</p>
+
+<pre class="brush: js example-good">var obj = Object.create(null);
+
+var obj = Object.setPrototypeOf({}, null);</pre>
+
+<h2 id="Дивись_також">Дивись також</h2>
+
+<ul>
+ <li><a href="/en-US/docs/Web/JavaScript/Guide/Functions">Functions</a></li>
+</ul>
diff --git a/files/uk/web/javascript/reference/errors/negative_repetition_count/index.html b/files/uk/web/javascript/reference/errors/negative_repetition_count/index.html
new file mode 100644
index 0000000000..7d0dc1abfb
--- /dev/null
+++ b/files/uk/web/javascript/reference/errors/negative_repetition_count/index.html
@@ -0,0 +1,48 @@
+---
+title: 'RangeError: repeat count must be non-negative'
+slug: Web/JavaScript/Reference/Errors/Negative_repetition_count
+tags:
+ - Error
+ - JavaScript
+ - RangeError
+ - String
+ - помилка
+ - рядок
+translation_of: Web/JavaScript/Reference/Errors/Negative_repetition_count
+---
+<div>{{jsSidebar("Errors")}}</div>
+
+<h2 id="Повідомлення">Повідомлення</h2>
+
+<pre class="syntaxbox">RangeError: argument out of range
+RangeError: repeat count must be non-negative (Firefox)
+RangeError: Invalid count value (Chrome)
+</pre>
+
+<h2 id="Тип_помилки">Тип помилки</h2>
+
+<p>{{jsxref("RangeError")}}</p>
+
+<h2 id="Що_сталось">Що сталось?</h2>
+
+<p>Був викликаний метод {{jsxref("String.prototype.repeat()")}}. Він має параметр <code>count</code>, що вказує, скільки разів потрібно повторити рядок. Його значення має бути від 0 та менше за позитивну {{jsxref("Infinity","нескінченність")}}, та не може бути від'ємним числом. Діапазон дозволених значень можна описати так: [0, +∞).</p>
+
+<h2 id="Приклади">Приклади</h2>
+
+<h3 id="Помилкове_використання">Помилкове використання</h3>
+
+<pre class="brush: js example-bad">'абв'.repeat(-1); // RangeError </pre>
+
+<h3 id="Правильне_використання">Правильне використання</h3>
+
+<pre class="brush: js example-good">'абв'.repeat(0); // ''
+'абв'.repeat(1); // 'абв'
+'абв'.repeat(2); // 'абвабв'
+'абв'.repeat(3.5); // 'абвабвабв' (count буде перетворений на ціле число)
+</pre>
+
+<h2 id="Див._також">Див. також</h2>
+
+<ul>
+ <li>{{jsxref("String.prototype.repeat()")}}</li>
+</ul>
diff --git a/files/uk/web/javascript/reference/errors/not_a_constructor/index.html b/files/uk/web/javascript/reference/errors/not_a_constructor/index.html
new file mode 100644
index 0000000000..cf4e4a383a
--- /dev/null
+++ b/files/uk/web/javascript/reference/errors/not_a_constructor/index.html
@@ -0,0 +1,91 @@
+---
+title: 'TypeError: "x" is not a constructor'
+slug: Web/JavaScript/Reference/Errors/Not_a_constructor
+translation_of: Web/JavaScript/Reference/Errors/Not_a_constructor
+---
+<div>{{jsSidebar("Errors")}}</div>
+
+<h2 id="Повідомлення">Повідомлення</h2>
+
+<pre class="syntaxbox">TypeError: "x" is not a constructor
+
+TypeError: Math is not a constructor
+TypeError: JSON is not a constructor
+TypeError: Symbol is not a constructor
+TypeError: Reflect is not a constructor
+TypeError: Intl is not a constructor
+TypeError: SIMD is not a constructor
+TypeError: Atomics is not a constructor
+</pre>
+
+<h2 id="Тип_помилки">Тип помилки</h2>
+
+<p>{{jsxref("TypeError")}}</p>
+
+<h2 id="В_чому_справа">В чому справа?</h2>
+
+<p>Була спроба використати об'єкт чи змінну як конструктор, але сам об'єкт чи змінна не є конструктором. Дивись {{Glossary("constructor")}} чи <a href="/en-US/docs/Web/JavaScript/Reference/Operators/new"><code>new</code> operator</a> для більш детальної інформації.</p>
+
+<p>У JavaScript існує багато глобальних об'єктів, наприклад {{jsxref("String")}} чи {{jsxref("Array")}}, які можуть створюватись конструкторами використовуючи синтаксис <code>new</code>. Однак, деякі глобальні об'єкти не можуть, їх властивості і методи статичні. Наступні об'єкти являються стандартом JavaScript, вони вбудовані і не мають конструкторів: {{jsxref("Math")}}, {{jsxref("JSON")}}, {{jsxref("Symbol")}}, {{jsxref("Reflect")}}, {{jsxref("Intl")}}, {{jsxref("SIMD")}}, {{jsxref("Atomics")}}.</p>
+
+<p><a href="/en-US/docs/Web/JavaScript/Reference/Statements/function*">Генератори функцій</a> не можуть використовуватись також.</p>
+
+<h2 id="Приклади">Приклади</h2>
+
+<h3 id="Помилкові_випадки">Помилкові випадки</h3>
+
+<pre class="brush: js example-bad">var Car = 1;
+new Car();
+// TypeError: Car не має конструктора
+
+new Math();
+// TypeError: Math не є конструктором
+
+new Symbol();
+// TypeError: Symbol не є конструктором
+
+function* f() {};
+var obj = new f;
+// TypeError: f не є конструктором
+</pre>
+
+<h3 id="Конструктор_Car">Конструктор Car</h3>
+
+<p>Для того щоб створити класс-конструктор, потрібно вказати його як функцію. В дужках ви можете вказати його статичні методи, наприклад виробника, модель, рік створення автомобілю. Щоб зробити це опишіть свою модель наступним чином:</p>
+
+<pre class="brush: js">function Car(make, model, year) {
+ this.make = make;
+ this.model = model;
+ this.year = year;
+}
+</pre>
+
+<p>Тепер ви можете створювати об'єкти классу Car, наприклад <code>mycar</code>:</p>
+
+<pre class="brush: js">var mycar = new Car('Eagle', 'Talon TSi', 1993);</pre>
+
+<h3 id="Обіцянка">Обіцянка</h3>
+
+<p>Спроба повернути з функції екземляр класу, з виконанням його методу, під час виконання якоїсь функції(з ходу), вам не потрібно використовувати синтаксис типу <em>new Promise(...)</em>.</p>
+
+<p>Це є помилкою(виклик конктруктору класу Promise поза синтаксисом), виконання коду буде зупинено з помилкою <code>TypeError: this is not a constructor</code> вийняток:</p>
+
+<pre class="brush: js example-bad">return new Promise.resolve(true);
+</pre>
+
+<p>Замість цього використовуй статичні методи  класу<a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/resolve"> Promise.resolve()</a> чи <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/reject">Promise.reject()</a> <a href="https://en.wikipedia.org/wiki/Method_(computer_programming)#Static_methods">static methods</a>:</p>
+
+<pre class="brush: js">// Це допустимо, але дуже нечитабельний синтаксис:
+return new Promise((resolve, reject) =&gt; { resolve(true); })
+
+// Замість цього, просто використовуйте статичні методи класу Promise:
+return Promise.resolve(true);
+return Promise.reject(false);
+</pre>
+
+<h2 id="Дивись_також">Дивись також</h2>
+
+<ul>
+ <li>{{Glossary("constructor")}}</li>
+ <li><a href="/en-US/docs/Web/JavaScript/Reference/Operators/new"><code>new</code> operator</a></li>
+</ul>
diff --git a/files/uk/web/javascript/reference/errors/not_a_function/index.html b/files/uk/web/javascript/reference/errors/not_a_function/index.html
new file mode 100644
index 0000000000..6130a8bef2
--- /dev/null
+++ b/files/uk/web/javascript/reference/errors/not_a_function/index.html
@@ -0,0 +1,124 @@
+---
+title: 'TypeError: "x" не є функцією'
+slug: Web/JavaScript/Reference/Errors/Not_a_function
+tags:
+ - JavaScript
+ - TypeError
+ - Помилки
+translation_of: Web/JavaScript/Reference/Errors/Not_a_function
+---
+<div>{{jsSidebar("Errors")}}</div>
+
+<h2 id="Повідомлення">Повідомлення</h2>
+
+<pre class="syntaxbox">TypeError: "x" не є функцією
+</pre>
+
+<h2 id="Тип_помилки">Тип помилки</h2>
+
+<p>{{jsxref("TypeError")}}.</p>
+
+<h2 id="Що_пішло_не_так">Що пішло не так?</h2>
+
+<p>Була с<span id="result_box" lang="uk"><span>проба викликати значення з функції, але значення насправді не є функцією.</span> <span>Деякий код очікує, що ви надішлете функцію, але це не відбулося</span></span>.</p>
+
+<p>Можило <span id="result_box" lang="uk"><span>в назві функції є опечатка?</span> Можливо <span>метод, що викликаєтся на об'єкті не має цієї функції?</span></span> Наприклад, об'єкти JavaScript не мають функції <code>map</code> , але об'єкт масиву JavaScript має.</p>
+
+<p><span id="result_box" lang="uk"><span>Є багато вбудованих функцій, які потребують функцій зворотнього виклику.</span> <span>Вам доведеться надати функцію, щоб ці методи працювали належним чином</span></span>:</p>
+
+<ul>
+ <li>Коли працюєте з {{jsxref("Array")}} або {{jsxref("TypedArray")}} об'єктами:
+ <ul>
+ <li>{{jsxref("Array.prototype.every()")}}, {{jsxref("Array.prototype.some()")}}, {{jsxref("Array.prototype.forEach()")}}, {{jsxref("Array.prototype.map()")}}, {{jsxref("Array.prototype.filter()")}},  {{jsxref("Array.prototype.reduce()")}}, {{jsxref("Array.prototype.reduceRight()")}}, {{jsxref("Array.prototype.find()")}}</li>
+ </ul>
+ </li>
+ <li>Коли працюєте з {{jsxref("Map")}} і {{jsxref("Set")}} об'єктами:
+ <ul>
+ <li>{{jsxref("Map.prototype.forEach()")}} та {{jsxref("Set.prototype.forEach()")}}</li>
+ </ul>
+ </li>
+</ul>
+
+<h2 id="Приклади">Приклади</h2>
+
+<h3 id="Помилка_в_назві_фунції">Помилка в назві фунції</h3>
+
+<p>В цьому випадку, <span id="result_box" lang="uk"><span>що трапляється занадто часто, в назві методу є помилка</span></span>:</p>
+
+<pre class="brush: js example-bad">var x = document.getElementByID('foo');
+// TypeError: document.getElementByID is not a function
+</pre>
+
+<p>Правильна назва функції є <code>getElementByI<strong>d</strong></code>:</p>
+
+<pre class="brush: js example-good">var x = document.getElementById('foo');
+</pre>
+
+<h3 id="Функція_що_викликана_на_неправильному_об'єкті">Функція, що викликана на неправильному об'єкті</h3>
+
+<p><span id="result_box" lang="uk"><span>Для деяких методів вам необхідно надати функцію зворотнього виклику, і вона буде працювати тільки на певних об'єктах</span></span>. Наприклад, використано {{jsxref("Array.prototype.map()")}}, який буде працювати лише з об'єктом {{jsxref("Array")}}.</p>
+
+<pre class="brush: js example-bad">var obj = {a: 13, b: 37, c: 42};
+
+obj.map(function(num) {
+ return num * 2;
+});
+
+// TypeError: obj.map is not a function</pre>
+
+<p>Використовуйте замість цього масив:</p>
+
+<pre class="brush: js example-good">var numbers = [1, 4, 9];
+
+numbers.map(function(num) {
+ return num * 2;
+});
+
+// Array [2, 8, 18]
+</pre>
+
+<h3 id="Функція_має_назву_що_співпадає_з_існуючою_раніш_властивістю"><span class="short_text" id="result_box" lang="uk"><span>Функція має назву, що співпадає з існуючою раніш властивістю</span></span></h3>
+
+<p><span id="result_box" lang="uk"><span>Іноді під час створення класу ви можете мати властивість та функцію з тим самим ім'ям.</span> <span>Після виклику функції компілятор вважає, що функція перестає існувати.</span></span></p>
+
+<pre class="brush: js example-bad">var Dog = function () {
+ this.age = 11;
+ this.color = "black";
+ this.name = "Ralph";
+ return this;
+}
+
+Dog.prototype.name = function(name) {
+ this.name = name;
+ return this;
+}
+
+
+var myNewDog = new Dog();
+myNewDog.name("Cassidy"); //Uncaught TypeError: myNewDog.name is not a function
+</pre>
+
+<p><span class="short_text" id="result_box" lang="uk"><span>Використовуйте інше ім'я властивості</span></span>:</p>
+
+<pre class="brush: js example-good">var Dog = function () {
+ this.age = 11;
+ this.color = "black";
+ this.dogName = "Ralph"; //Using this.dogName instead of .name
+ return this;
+}
+
+Dog.prototype.name = function(name) {
+ this.dogName = name;
+ return this;
+}
+
+
+var myNewDog = new Dog();
+myNewDog.name("Cassidy"); //Dog { age: 11, color: 'black', dogName: 'Cassidy' }
+</pre>
+
+<h2 id="Дивись_також">Дивись також</h2>
+
+<ul>
+ <li><a href="/en-US/docs/Web/JavaScript/Reference/Functions">Функції</a></li>
+</ul>
diff --git a/files/uk/web/javascript/reference/errors/resulting_string_too_large/index.html b/files/uk/web/javascript/reference/errors/resulting_string_too_large/index.html
new file mode 100644
index 0000000000..3ece6370b3
--- /dev/null
+++ b/files/uk/web/javascript/reference/errors/resulting_string_too_large/index.html
@@ -0,0 +1,53 @@
+---
+title: 'RangeError: repeat count must be less than infinity'
+slug: Web/JavaScript/Reference/Errors/Resulting_string_too_large
+tags:
+ - Error
+ - JavaScript
+ - RangeError
+ - String
+ - помилка
+ - рядок
+translation_of: Web/JavaScript/Reference/Errors/Resulting_string_too_large
+---
+<div>{{jsSidebar("Errors")}}</div>
+
+<h2 id="Повідомлення">Повідомлення</h2>
+
+<pre class="syntaxbox">RangeError: argument out of range (Edge)
+RangeError: repeat count must be less than infinity and not overflow maximum string size (Firefox)
+
+RangeError: Invalid count value (Chrome)
+</pre>
+
+<h2 id="Тип_помилки">Тип помилки</h2>
+
+<p>{{jsxref("RangeError")}}</p>
+
+<h2 id="Що_сталось">Що сталось?</h2>
+
+<p>Був викликаний метод {{jsxref("String.prototype.repeat()")}}. Він має параметр <code>count</code>, що вказує, скільки разів потрібно повторити рядок. Його значення має бути від 0 та менше за позитивну {{jsxref("Infinity","нескінченність")}}, та не може бути від'ємним числом. Діапазон дозволених значень можна описати так: [0, +∞).</p>
+
+<p>Отриманий в результаті рядок також не може бути більшим за максимальний розмір рядка, який може відрізнятись між рушіями JavaScript. У Firefox (SpiderMonkey) максимальний розмір рядка дорівнює 2<sup>28</sup> -1 (<code>0xFFFFFFF</code>).</p>
+
+<h2 id="Приклади">Приклади</h2>
+
+<h3 id="Помилкове_використання">Помилкове використання</h3>
+
+<pre class="brush: js example-bad">'абв'.repeat(Infinity); // RangeError
+'а'.repeat(2**28); // RangeError
+</pre>
+
+<h3 id="Правильне_використання">Правильне використання</h3>
+
+<pre class="brush: js example-good">'абв'.repeat(0); // ''
+'абв'.repeat(1); // 'абв'
+'абв'.repeat(2); // 'абвабв'
+'абв'.repeat(3.5); // 'абвабвабв' (count буде перетворений на ціле число)
+</pre>
+
+<h2 id="Див._також">Див. також</h2>
+
+<ul>
+ <li>{{jsxref("String.prototype.repeat()")}}</li>
+</ul>