From 95aca4b4d8fa62815d4bd412fff1a364f842814a Mon Sep 17 00:00:00 2001 From: Ryan Johnson Date: Thu, 29 Apr 2021 16:16:42 -0700 Subject: remove retired locales (#699) --- .../reference/errors/cant_delete/index.html | 59 ---------- .../errors/deprecated_tolocaleformat/index.html | 93 ---------------- .../uk/web/javascript/reference/errors/index.html | 31 ------ .../errors/invalid_for-in_initializer/index.html | 77 ------------- .../reference/errors/json_bad_parse/index.html | 112 ------------------- .../errors/more_arguments_needed/index.html | 46 -------- .../errors/negative_repetition_count/index.html | 48 -------- .../reference/errors/not_a_constructor/index.html | 91 --------------- .../reference/errors/not_a_function/index.html | 124 --------------------- .../errors/resulting_string_too_large/index.html | 53 --------- 10 files changed, 734 deletions(-) delete mode 100644 files/uk/web/javascript/reference/errors/cant_delete/index.html delete mode 100644 files/uk/web/javascript/reference/errors/deprecated_tolocaleformat/index.html delete mode 100644 files/uk/web/javascript/reference/errors/index.html delete mode 100644 files/uk/web/javascript/reference/errors/invalid_for-in_initializer/index.html delete mode 100644 files/uk/web/javascript/reference/errors/json_bad_parse/index.html delete mode 100644 files/uk/web/javascript/reference/errors/more_arguments_needed/index.html delete mode 100644 files/uk/web/javascript/reference/errors/negative_repetition_count/index.html delete mode 100644 files/uk/web/javascript/reference/errors/not_a_constructor/index.html delete mode 100644 files/uk/web/javascript/reference/errors/not_a_function/index.html delete mode 100644 files/uk/web/javascript/reference/errors/resulting_string_too_large/index.html (limited to 'files/uk/web/javascript/reference/errors') 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 ---- -
{{jsSidebar("Errors")}}
- -

Повідомлення

- -
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)
-
- -

Тип помилки

- -

{{jsxref("TypeError")}} тільки у строгому режимі.

- -

Що сталось?

- -

Була спроба видалити властивість, але ця властивість недоступна для налаштування. Атрибут configurable котролює, чи властивість об'єкта може бути видалена, та чи можна змінювати її атрибути (інші, крім writable).

- -

Ця помилка виникає лише у строгому режимі. У нестрогому режимі оператор повертає false.

- -

Приклади

- -

Властивості, недоступні для налаштування, не є дуже поширеними, але їх можна створити за допомогою {{jsxref("Object.defineProperty()")}} або {{jsxref("Object.freeze()")}}.

- -
'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
-
- -

Існують також кілька недоступних для налаштування властивостей, вбудованих у JavaScript. Можливо, ви намагались видалити математичну константу.

- -
'use strict';
-delete Math.PI;  // TypeError
- -

Див. також

- - 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 ---- -
{{jsSidebar("Errors")}}
- -

Застереження JavaScript "Date.prototype.toLocaleFormat is deprecated; consider using Intl.DateTimeFormat instead" виникає, коли використовується нестандартний метод {{jsxref("Date.prototype.toLocaleFormat")}}.

- -

Повідомлення

- -
Warning: Date.prototype.toLocaleFormat is deprecated; consider using Intl.DateTimeFormat instead
-
- -

Тип помилки

- -

Застереження. Виконання JavaScript не буде зупинене.

- -

Що сталось?

- -

Нестандартний метод {{jsxref("Date.prototype.toLocaleFormat")}} застарів та більше не рекомендований до використання. Він використовує рядок форматування в такому ж форматі, який очікується функцією strftime() у C. Функція більше недоступна у Firefox 58+.

- -

Приклади

- -

Застарілий синтаксис

- -

Метод {{jsxref("Date.prototype.toLocaleFormat")}} застарів та буде прибраний (без кросбраузерної підтримки, доступний лише у Firefox).

- -
var today = new Date();
-var date = today.toLocaleFormat('%A, %e. %B %Y');
-
-console.log(date);
-// У німецькій локалі
-// "Freitag, 10. März 2017"
- -

Альтернативний стандартний синтаксис за допомогою ECMAScript Intl API

- -

Стандарт ECMA-402 (ECMAScript Intl API) визначає стандартні об'єкти та методи, які вможливлюють чутливе до мови форматування дати та часу (доступні у Chrome 24+, Firefox 29+, IE11+, Safari10+).

- -

Ви тепер можете або використати метод {{jsxref("Date.prototype.toLocaleDateString")}}, якщо ви бажаєте просто відформатувати одну дату.

- -
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"
-
- -

Або ви можете скористатись об'єктом {{jsxref("DateTimeFormat", "Intl.DateTimeFormat")}}, який дозволяє кешувати об'єкт, в якому більшість обчислень вже зроблені, тому форматування відбувається швидко. Це корисно, якщо у вас є цикл дат для форматування.

- -
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"
-
- -

Альтернативний стандартний синтаксис з використанням методів Date

- -

Об'єкт {{jsxref("Date")}} пропонує декілька методів для створення налаштованого рядка дати.

- -
(new Date()).toLocaleFormat("%Y%m%d");
-// "20170310"
-
- -

Можна перетворити на:

- -
let now = new Date();
-let date = now.getFullYear() * 10000 +
-          (now.getMonth() + 1) * 100 + now.getDate();
-
-console.log(date);
-// "20170310"
- -

Див. також

- - 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 ---- -

{{jsSidebar("Errors")}}

- -

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 name and a message.

- -

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.

- -

List of errors

- -

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!

- -

{{ListSubPages("/en-US/docs/Web/JavaScript/Reference/Errors")}}

- -

See also

- - 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 ---- -
{{jsSidebar("Errors")}}
- -

Виняток, що викидається лише у строгому режимі JavaScript, "for-in loop head declarations may not have initializers", виникає, коли шапка циклу for...in містить вираз ініціалізації, наприклад |for (var i = 0 in obj)|. Це не дозволено у циклах for-in у строгому режимі.

- -

Повідомлення

- -
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)
-
- -

Тип помилки

- -

{{jsxref("SyntaxError")}} лише у строгому режимі.

- -

Що сталось?

- -

Шапка циклу for...in містить вираз ініціалізації. Тобто, було оголошено змінну та присвоєно їй значення |for (var i = 0 in obj)|. У нестрогому режимі таке оголошення просто ігнорується та сприймається як |for (var i in obj)|. Однак, у строгому режимі викидається помилка SyntaxError.

- -

Приклади

- -

Цей приклад викидає помилку SyntaxError:

- -
"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
-
- -

Правильний цикл for-in

- -

Ви можете прибрати ініціалізатор (i = 0) з шапки циклу for-in.

- -
"use strict";
-
-var obj = {a: 1, b: 2, c: 3 };
-
-for (var i in obj) {
-  console.log(obj[i]);
-}
-
- -

Перебір масиву

- -

Цикл for...in не варто використовувати для перебору масиву. Чи намагались ви використати цикл for замість for-in для перебору {{jsxref("Array", "масиву")}}? Цикл for також дозволяє використання ініціалізатора:

- -
var arr = [ "a", "b", "c" ]
-
-for (var i = 2; i < arr.length; i++) {
-  console.log(arr[i]);
-}
-
-// "c"
- -

Див. також

- - 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 ---- -
{{jsSidebar("Errors")}}
- -

Повідомлення

- -
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
-
- -

Тип помилки

- -

{{jsxref("Global_Objects/SyntaxError", "SyntaxError")}}

- -

Що трапилося?

- -

Метод {{jsxref("JSON.parse()")}} здійснює розбір JSON в переданому рядку. Він викидає цю помилку, якщо рядок містить неправильний JSON (виявлено неналежний синтаксис).

- -

Приклади

- -

JSON.parse() не дозволяє використовувати прикінцеві коми

- -

Обидва наведені рядки викидають SyntaxError:

- -
JSON.parse('[1, 2, 3, 4,]');
-JSON.parse('{"foo": 1,}');
-// SyntaxError JSON.parse: unexpected character
-// at line 1 column 14 of the JSON data
-
- -

Задля належного розбору JSON оминайте використання прикінцевих ком:

- -
JSON.parse('[1, 2, 3, 4]');
-JSON.parse('{"foo": 1}');
- -

Ім'я властивості має бути рядком в подвійних лапках

- -

Не можна використовувати одинарні лапки, як-от 'foo':

- -
JSON.parse("{'foo': 1}");
-// SyntaxError: JSON.parse: expected property name or '}'
-// at line 1 column 2 of the JSON data
- -

Натомість має бути "foo":

- -
JSON.parse('{"foo": 1}');
- -

Провідні нулі та десяткові крапки

- -

Не можна вказувати провідні нулі (як у числі 01) та розділові крапки без якнайменше одного десяткового знака:

- -
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
-
- -

Провідні нулі приберіть, а на місці відсутніх десяткових знаків (якщо жодного значущого немає) напишіть просто нуль:

- -
JSON.parse('{"foo": 1}');
-JSON.parse('{"foo": 1.0}');
-
- -

Див. також

- - 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 ---- -
{{jsSidebar("Errors")}}
- -

Помилка

- -
TypeError: Object.create requires more than 0 arguments
-TypeError: Object.setPrototypeOf requires more than 1 argument
-TypeError: Object.defineProperties requires more than 0 arguments
-
- -

Тип помилки

- -

{{jsxref("TypeError")}}.

- -

Щось пішло не так?

- -

Для виконання функції потрібні аргументи функції. Справа в тому, що для виконання функції потрібні параметри, ви повинні вказати їх на початок визову функції, в дужках.

- -

Приклади

- -

Визов Object.create() функції потребує щонайменьше один! аргумент.

- -

Визов Object.setPrototypeOf({}) методу(функції) потребує два! аргументи.

- -
var obj = Object.create();
-// TypeError: Object.create requires more than 0 arguments
-
-var obj = Object.setPrototypeOf({});
-// TypeError: Object.setPrototypeOf requires more than 1 argument
-
- -

Це можливо виправити вказавши аргументи функції під час визову, наприклад:

- -
var obj = Object.create(null);
-
-var obj = Object.setPrototypeOf({}, null);
- -

Дивись також

- - 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 ---- -
{{jsSidebar("Errors")}}
- -

Повідомлення

- -
RangeError: argument out of range
-RangeError: repeat count must be non-negative (Firefox)
-RangeError: Invalid count value (Chrome)
-
- -

Тип помилки

- -

{{jsxref("RangeError")}}

- -

Що сталось?

- -

Був викликаний метод {{jsxref("String.prototype.repeat()")}}. Він має параметр count, що вказує, скільки разів потрібно повторити рядок. Його значення має бути від 0 та менше за позитивну {{jsxref("Infinity","нескінченність")}}, та не може бути від'ємним числом. Діапазон дозволених значень можна описати так: [0, +∞).

- -

Приклади

- -

Помилкове використання

- -
'абв'.repeat(-1); // RangeError 
- -

Правильне використання

- -
'абв'.repeat(0);    // ''
-'абв'.repeat(1);    // 'абв'
-'абв'.repeat(2);    // 'абвабв'
-'абв'.repeat(3.5);  // 'абвабвабв' (count буде перетворений на ціле число)
-
- -

Див. також

- - 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 ---- -
{{jsSidebar("Errors")}}
- -

Повідомлення

- -
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
-
- -

Тип помилки

- -

{{jsxref("TypeError")}}

- -

В чому справа?

- -

Була спроба використати об'єкт чи змінну як конструктор, але сам об'єкт чи змінна не є конструктором. Дивись {{Glossary("constructor")}} чи new operator для більш детальної інформації.

- -

У JavaScript існує багато глобальних об'єктів, наприклад {{jsxref("String")}} чи {{jsxref("Array")}}, які можуть створюватись конструкторами використовуючи синтаксис new. Однак, деякі глобальні об'єкти не можуть, їх властивості і методи статичні. Наступні об'єкти являються стандартом JavaScript, вони вбудовані і не мають конструкторів: {{jsxref("Math")}}, {{jsxref("JSON")}}, {{jsxref("Symbol")}}, {{jsxref("Reflect")}}, {{jsxref("Intl")}}, {{jsxref("SIMD")}}, {{jsxref("Atomics")}}.

- -

Генератори функцій не можуть використовуватись також.

- -

Приклади

- -

Помилкові випадки

- -
var Car = 1;
-new Car();
-// TypeError: Car не має конструктора
-
-new Math();
-// TypeError: Math не є конструктором
-
-new Symbol();
-// TypeError: Symbol не є конструктором
-
-function* f() {};
-var obj = new f;
-// TypeError: f не є конструктором
-
- -

Конструктор Car

- -

Для того щоб створити класс-конструктор, потрібно вказати його як функцію. В дужках ви можете вказати його статичні методи, наприклад виробника, модель, рік створення автомобілю. Щоб зробити це опишіть свою модель наступним чином:

- -
function Car(make, model, year) {
-  this.make = make;
-  this.model = model;
-  this.year = year;
-}
-
- -

Тепер ви можете створювати об'єкти классу Car, наприклад mycar:

- -
var mycar = new Car('Eagle', 'Talon TSi', 1993);
- -

Обіцянка

- -

Спроба повернути з функції екземляр класу, з виконанням його методу, під час виконання якоїсь функції(з ходу), вам не потрібно використовувати синтаксис типу new Promise(...).

- -

Це є помилкою(виклик конктруктору класу Promise поза синтаксисом), виконання коду буде зупинено з помилкою TypeError: this is not a constructor вийняток:

- -
return new Promise.resolve(true);
-
- -

Замість цього використовуй статичні методи  класу Promise.resolve() чи Promise.reject() static methods:

- -
// Це допустимо, але дуже нечитабельний синтаксис:
-return new Promise((resolve, reject) => { resolve(true); })
-
-// Замість цього, просто використовуйте статичні методи класу Promise:
-return Promise.resolve(true);
-return Promise.reject(false);
-
- -

Дивись також

- - 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 ---- -
{{jsSidebar("Errors")}}
- -

Повідомлення

- -
TypeError: "x" не є функцією
-
- -

Тип помилки

- -

{{jsxref("TypeError")}}.

- -

Що пішло не так?

- -

Була спроба викликати значення з функції, але значення насправді не є функцією. Деякий код очікує, що ви надішлете функцію, але це не відбулося.

- -

Можило в назві функції є опечатка? Можливо метод, що викликаєтся на об'єкті не має цієї функції? Наприклад, об'єкти JavaScript не мають функції map , але об'єкт масиву JavaScript має.

- -

Є багато вбудованих функцій, які потребують функцій зворотнього виклику. Вам доведеться надати функцію, щоб ці методи працювали належним чином:

- - - -

Приклади

- -

Помилка в назві фунції

- -

В цьому випадку, що трапляється занадто часто, в назві методу є помилка:

- -
var x = document.getElementByID('foo');
-// TypeError: document.getElementByID is not a function
-
- -

Правильна назва функції є getElementById:

- -
var x = document.getElementById('foo');
-
- -

Функція, що викликана на неправильному об'єкті

- -

Для деяких методів вам необхідно надати функцію зворотнього виклику, і вона буде працювати тільки на певних об'єктах. Наприклад, використано {{jsxref("Array.prototype.map()")}}, який буде працювати лише з об'єктом {{jsxref("Array")}}.

- -
var obj = {a: 13, b: 37, c: 42};
-
-obj.map(function(num) {
-  return num * 2;
-});
-
-// TypeError: obj.map is not a function
- -

Використовуйте замість цього масив:

- -
var numbers = [1, 4, 9];
-
-numbers.map(function(num) {
-  return num * 2;
-});
-
-// Array [2, 8, 18]
-
- -

Функція має назву, що співпадає з існуючою раніш властивістю

- -

Іноді під час створення класу ви можете мати властивість та функцію з тим самим ім'ям. Після виклику функції компілятор вважає, що функція перестає існувати.

- -
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
-
- -

Використовуйте інше ім'я властивості:

- -
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' }
-
- -

Дивись також

- - 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 ---- -
{{jsSidebar("Errors")}}
- -

Повідомлення

- -
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)
-
- -

Тип помилки

- -

{{jsxref("RangeError")}}

- -

Що сталось?

- -

Був викликаний метод {{jsxref("String.prototype.repeat()")}}. Він має параметр count, що вказує, скільки разів потрібно повторити рядок. Його значення має бути від 0 та менше за позитивну {{jsxref("Infinity","нескінченність")}}, та не може бути від'ємним числом. Діапазон дозволених значень можна описати так: [0, +∞).

- -

Отриманий в результаті рядок також не може бути більшим за максимальний розмір рядка, який може відрізнятись між рушіями JavaScript. У Firefox (SpiderMonkey) максимальний розмір рядка дорівнює 228 -1 (0xFFFFFFF).

- -

Приклади

- -

Помилкове використання

- -
'абв'.repeat(Infinity); // RangeError
-'а'.repeat(2**28);      // RangeError
-
- -

Правильне використання

- -
'абв'.repeat(0);    // ''
-'абв'.repeat(1);    // 'абв'
-'абв'.repeat(2);    // 'абвабв'
-'абв'.repeat(3.5);  // 'абвабвабв' (count буде перетворений на ціле число)
-
- -

Див. також

- - -- cgit v1.2.3-54-g00ecf