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/length/index.html | 105 --------------------- 1 file changed, 105 deletions(-) delete mode 100644 files/uk/web/javascript/reference/global_objects/string/length/index.html (limited to 'files/uk/web/javascript/reference/global_objects/string/length') diff --git a/files/uk/web/javascript/reference/global_objects/string/length/index.html b/files/uk/web/javascript/reference/global_objects/string/length/index.html deleted file mode 100644 index b52a468f96..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/length/index.html +++ /dev/null @@ -1,105 +0,0 @@ ---- -title: string.length -slug: Web/JavaScript/Reference/Global_Objects/String/length -tags: - - JavaScript - - Property - - Prototype - - String - - Властивість - - Довідка - - довжина - - рядок -translation_of: Web/JavaScript/Reference/Global_Objects/String/length ---- -
{{JSRef}}
- -

Властивість length об'єкта {{jsxref("String")}} містить довжину рядка у кодових одиницях UTF-16. Це властивість-значення рядкових екземплярів, доступна лише для читання.

- -

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

- -

Синтаксис

- -
str.length
- -

Опис

- -

Ця властивість повертає кількість кодових одиниць (англ. code unit), які утворюють рядок. У JavaScript для рядків використовується кодування {{interwiki("wikipedia", "UTF-16")}}, яке вживає одну 16-бітну (двобайтну) кодову одиницю для передачі більшості загальновживаних символів, але для менш поширених воно потребує двох кодових одиниць. Отже, значення, length та справжня кількість символів рядка не завжди збігаються.

- -

У ECMAScript 2016 (вер. 7) було встановлено максимальну довжину у 2^53 - 1 елементів. Попередньо не було визначено ніякої максимальної довжини. У Firefox рядки мають максимальну довжину 2**30 - 2 (~1ГБ). У версіях, більш ранніх за Firefox 65, максимальна довжина складала 2**28 - 1 (~256МБ).

- -

Для порожнього рядка length дорівнює 0.

- -

Статична властивість String.length не пов'язана з довжиною рядків, це арність функції String (загалом, це кількість формальних параметрів, що вона має), яка дорівнює 1.

- -

Юнікод

- -

Оскільки `length` рахує кодові одиниці замість символів, якщо вам треба отримати кількість символів, вам знадобиться щось таке:

- -
function getCharacterLength (str) {
-  // Ітератор рядка, що тут використовується, перебирає символи,
-  // а не просто кодові одиниці
-  return [...str].length;
-}
-
-console.log(getCharacterLength('A\uD87E\uDC04Z')); // 3
-
-// Це не рекомендується, але ви можете додати його до кожного рядка ось так:
-
-Object.defineProperty(String.prototype, 'charLength', {
-  get () {
-    return getCharacterLength(this);
-  }
-});
-
-console.log('A\uD87E\uDC04Z'.charLength); // 3
- -

Приклади

- -

Типове використання

- -
var x = 'Вогнелис';
-let empty = '';
-
-console.log(x + ' має довжину ' + x.length + ' кодових одиниць');
-/* "Вогнелис має довжину 8 кодових одиниць" */
-
-console.log('Порожній рядок має довжину ' + empty.length);
-// очікуваний результат: "Порожній рядок має довжину 0"
-
- -

Присвоювання довжини

- -
let myString = "проліски";
-
-// Спроба присвоїти значення властивості рядка .length не має видимого ефекту.
-myString.length = 4;
-console.log(myString);
-// очікуваний результат: "проліски"
-console.log(myString.length);
-// очікуваний результат: 8
- -

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

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

Підтримка веб-переглядачами

- - - -

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

- -

Див. також

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