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) --- .../global_objects/string/charcodeat/index.html | 161 --------------------- 1 file changed, 161 deletions(-) delete mode 100644 files/uk/web/javascript/reference/global_objects/string/charcodeat/index.html (limited to 'files/uk/web/javascript/reference/global_objects/string/charcodeat/index.html') diff --git a/files/uk/web/javascript/reference/global_objects/string/charcodeat/index.html b/files/uk/web/javascript/reference/global_objects/string/charcodeat/index.html deleted file mode 100644 index 3ed3a4c450..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/charcodeat/index.html +++ /dev/null @@ -1,161 +0,0 @@ ---- -title: String.prototype.charCodeAt() -slug: Web/JavaScript/Reference/Global_Objects/String/charCodeAt -tags: - - JavaScript - - String - - Unicode - - метод -translation_of: Web/JavaScript/Reference/Global_Objects/String/charCodeAt ---- -
{{JSRef}}
- -

Метод charCodeAt() вертає ціле число в діапазоні між 0 та 65535, що відображає кодову одиницю UTF-16 за наданим індексом.

- -
{{EmbedInteractiveExample("pages/js/string-charcodeat.html", "shorter")}}
- - - -

Кодова одиниця UTF-16 співпадає з кодом символа Юнікоду для кодів символів, які можуть бути представлені єдиною кодовою одиницею UTF-16. Якщо код символа Юнікоду не може бути представлений єдиною кодовою одиницею UTF-16 (бо його значення більше за 0xFFFF), тоді повернена кодова одиниця буде першою частиною сурогатної пари для коду символа. Якщо вам потрібен весь код символа, використовуйте {{jsxref("Global_Objects/String/codePointAt", "codePointAt()")}}.

- -

Синтаксис

- -
str.charCodeAt(index)
- -

Параметри

- -
-
index
-
Ціле число, що більше або дорівнює 0 та менше за довжину рядка. Якщо index не є числом, він за замовчуванням прирівнюється до 0.
-
- -

Значення, що повертається

- -

Число, що відображає значення кодової одиниці UTF-16 для символа за наданим індексом index. Якщо index знаходиться за межами діапазону, charCodeAt() повертає {{jsxref("Global_Objects/NaN", "NaN")}}.

- -

Опис

- -

Коди символів Юнікоду знаходяться в діапазоні від 0 до 1114111 (0x10FFFF). Перші 128 кодів символів Юнікоду повністю співпадають з кодуванням символів ASCII. (Інформацію щодо Юнікоду дивіться у Посібнику JavaScript.)

- -
-

Заувага: charCodeAt() завжди поверне значення, менше за 65536. Тому що більші коди символів відображаються парою (з меншим значенням) "сурогатних" псевдосимволів, що складають реальний символ.

- -

Тому, щоб дослідити (чи відтворити) повний символ для значень окремих символів від 65536 та більше, для таких символів необхідно отримувати не лише charCodeAt(i), але також charCodeAt(i+1) (ніби маніпулюючи рядком з двох літер), або використовувати замість цього codePointAt(i). Дивіться приклади 2 та 3 (нижче).

-
- -

charCodeAt() повертає {{jsxref("Global_Objects/NaN", "NaN")}}, якщо наданий індекс менший за 0, або якщо він дорівнює чи перевищує значення довжини рядка.

- -

Зворотня сумісність: У історичних версіях (наприклад, JavaScript 1.2) метод charCodeAt() вертає число, що вказує значення набору символів ISO-Latin-1 для символа за наданим індексом. Набір символів ISO-Latin-1 знаходиться в діапазоні від 0 до 255. Перші 0-127 повністю співпадають з набором символів ASCII.

- -

Приклади

- -

Використання charCodeAt()

- -

Наступний приклад вертає 65, значення Юнікоду для A.

- -
'ABC'.charCodeAt(0)  // вертає 65
-
- -

Виправлення charCodeAt() для обробки символів не базової багатомовної площини, якщо їхня наявність раніше у рядку невідома

- -

Ця версія може використовуватись для циклів та подібного, коли невідомо, чи були присутні символи не з ББП до вказаної позиції.

- -
function fixedCharCodeAt(str, idx) {
-  // напр. fixedCharCodeAt('\uD800\uDC00', 0); // 65536
-  // напр. fixedCharCodeAt('\uD800\uDC00', 1); // false
-  idx = idx || 0;
-  var code = str.charCodeAt(idx);
-  var hi, low;
-
-  // Високий сурогат (може міняти останнє шістнадцяткове значення на 0xDB7F
-  // для обробки високих приватних сурогатів
-  // як єдиних символів)
-  if (0xD800 <= code && code <= 0xDBFF) {
-    hi = code;
-    low = str.charCodeAt(idx + 1);
-    if (isNaN(low)) {
-      throw 'Високий сурогат без наступного ' +
-        'низького сурогату у fixedCharCodeAt()';
-    }
-    return (
-      (hi - 0xD800) * 0x400) +
-      (low - 0xDC00) + 0x10000;
-  }
-  if (0xDC00 <= code && code <= 0xDFFF) { // Низький сурогат
-    // Ми вертаємо false, щоб дозволити циклам пропустити
-    // цю ітерацію, бо мали вже обробити
-    // високий сурогат вище у попередній ітерації
-    return false;
-    // hi = str.charCodeAt(idx - 1);
-    // low = code;
-    // return ((hi - 0xD800) * 0x400) +
-    //   (low - 0xDC00) + 0x10000;
-  }
-  return code;
-}
-
- -

Виправлення charCodeAt() для обробки символів не базової багатомовної площини, якщо їхня наявність раніше у рядку відома

- -
function knownCharCodeAt(str, idx) {
-  str += '';
-  var code,
-      end = str.length;
-
-  var surrogatePairs = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g;
-  while ((surrogatePairs.exec(str)) != null) {
-    var li = surrogatePairs.lastIndex;
-    if (li - 2 < idx) {
-      idx++;
-    }
-    else {
-      break;
-    }
-  }
-
-  if (idx >= end || idx < 0) {
-    return NaN;
-  }
-
-  code = str.charCodeAt(idx);
-
-  var hi, low;
-  if (0xD800 <= code && code <= 0xDBFF) {
-    hi = code;
-    low = str.charCodeAt(idx + 1);
-    // Пройти на один далі, оскільки один з "символів"
-    // є частиною сурогатної пари
-    return ((hi - 0xD800) * 0x400) +
-      (low - 0xDC00) + 0x10000;
-  }
-  return code;
-}
-
- -

Специфікації

- - - - - - - - - - -
Специфікація
{{SpecName('ESDraft', '#sec-string.prototype.charcodeat', 'String.prototype.charCodeAt')}}
- -

Сумісність з веб-переглядачами

- - - -

{{Compat("javascript.builtins.String.charCodeAt")}}

- -

Див. також

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