diff options
Diffstat (limited to 'files/uk/web/javascript/reference/errors')
10 files changed, 0 insertions, 734 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 deleted file mode 100644 index 91369f763c..0000000000 --- a/files/uk/web/javascript/reference/errors/cant_delete/index.html +++ /dev/null @@ -1,59 +0,0 @@ ---- -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 #<Object> (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 deleted file mode 100644 index 226aba7150..0000000000 --- a/files/uk/web/javascript/reference/errors/deprecated_tolocaleformat/index.html +++ /dev/null @@ -1,93 +0,0 @@ ---- -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 => 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 deleted file mode 100644 index c295fccea6..0000000000 --- a/files/uk/web/javascript/reference/errors/index.html +++ /dev/null @@ -1,31 +0,0 @@ ---- -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 deleted file mode 100644 index f856c96758..0000000000 --- a/files/uk/web/javascript/reference/errors/invalid_for-in_initializer/index.html +++ /dev/null @@ -1,77 +0,0 @@ ---- -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 < 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 deleted file mode 100644 index a4f20078c6..0000000000 --- a/files/uk/web/javascript/reference/errors/json_bad_parse/index.html +++ /dev/null @@ -1,112 +0,0 @@ ---- -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 deleted file mode 100644 index c0ede70788..0000000000 --- a/files/uk/web/javascript/reference/errors/more_arguments_needed/index.html +++ /dev/null @@ -1,46 +0,0 @@ ---- -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 deleted file mode 100644 index 7d0dc1abfb..0000000000 --- a/files/uk/web/javascript/reference/errors/negative_repetition_count/index.html +++ /dev/null @@ -1,48 +0,0 @@ ---- -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 deleted file mode 100644 index cf4e4a383a..0000000000 --- a/files/uk/web/javascript/reference/errors/not_a_constructor/index.html +++ /dev/null @@ -1,91 +0,0 @@ ---- -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) => { 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 deleted file mode 100644 index 6130a8bef2..0000000000 --- a/files/uk/web/javascript/reference/errors/not_a_function/index.html +++ /dev/null @@ -1,124 +0,0 @@ ---- -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 deleted file mode 100644 index 3ece6370b3..0000000000 --- a/files/uk/web/javascript/reference/errors/resulting_string_too_large/index.html +++ /dev/null @@ -1,53 +0,0 @@ ---- -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> |
