Skip to content

Commit

Permalink
update(JS): web/javascript/data_structures
Browse files Browse the repository at this point in the history
  • Loading branch information
undead404 committed Dec 21, 2023
1 parent 2ee52ab commit 14ff208
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions files/uk/web/javascript/data_structures/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ Number.MAX_SAFE_INTEGER + 1 === Number.MAX_SAFE_INTEGER + 2; // true, адже

- Легко формувати складні рядки за допомогою зчеплення.
- Рядки легко зневаджувати (те, що надруковано – завжди саме те, що знаходиться в рядку).
- Рядки є спільним знаменником багатьох API ([полів введення](/uk/docs/Web/API/HTMLInputElement), значень [локального сховища](/uk/docs/Web/API/Web_Storage_API), відповідей [`XMLHttpRequest`](/uk/docs/Web/API/XMLHttpRequest) при використанні `responseText` тощо), і може здаватись спокусливим працювати лише з рядками.
- Рядки є спільним знаменником багатьох API ([полів введення](/uk/docs/Web/API/HTMLInputElement), значень [локального сховища](/uk/docs/Web/API/Web_Storage_API), відповідей [`fetch()`](/uk/docs/Web/API/fetch) при використанні {{domxref("Response.text()")}} тощо), і може здаватись спокусливим працювати лише з рядками.

За допомогою певних домовленостей можна представити будь-яку структуру даних як рядок. Проте це не робить таку ідею доброю. Наприклад, можна імітувати список за допомогою розділювача (при тому, що масив JavaScript є більш підхожим). На жаль, коли розділювач зустрічається в одному з елементів "списку", список буде зламано. Можна обрати символ екранування тощо. Все це вимагає домовленостей і накладає зайвий тягар підтримування.

Expand All @@ -155,7 +155,7 @@ Number.MAX_SAFE_INTEGER + 1 === Number.MAX_SAFE_INTEGER + 2; // true, адже

### Властивості

У JavaScript об'єкти можуть розглядатися як колекції властивостей. За допомогою [синтаксису об'єктного літерала](/uk/docs/Web/JavaScript/Guide/Grammar_and_types#obiektni-literaly) ініціалізується обмежений набір властивостей; після цього властивості можна додавати й видаляти. Властивості об'єктів рівносильні парам ключ-значення. Ключі властивостей є або [рядками](#typ-string), або [символами](#typ-symbol). Значення властивостей можуть бути значеннями будь-яких типів, включно з іншими об'єктами, що дає змогу вибудовувати складні структури даних.
У JavaScript об'єкти можуть розглядатися як колекції властивостей. За допомогою [синтаксису об'єктного літерала](/uk/docs/Web/JavaScript/Guide/Grammar_and_types#literaly-obiektiv) ініціалізується обмежений набір властивостей; після цього властивості можна додавати й видаляти. Властивості об'єктів рівносильні парам ключ-значення. Ключі властивостей є або [рядками](#typ-string), або [символами](#typ-symbol). Значення властивостей можуть бути значеннями будь-яких типів, включно з іншими об'єктами, що дає змогу вибудовувати складні структури даних.

Є два типи властивостей об'єкта: [властивість _даних_](#vlastyvist-danykh) і [властивість _доступу_](#vlastyvist-dostupu). Кожна властивість має відповідні _атрибути_. Рушій JavaScript внутрішньо звертається до кожного атрибута, задати ж ці атрибути можна за допомогою {{jsxref("Object.defineProperty()")}}, а отримати – за допомогою {{jsxref("Object.getOwnPropertyDescriptor()")}}. Більше про різні нюанси – на сторінці {{jsxref("Object.defineProperty()")}}.

Expand Down

0 comments on commit 14ff208

Please sign in to comment.