Skip to content

Commit 9567d02

Browse files
tarasyyykwdscxsjjoaquineliosagarpanchalMSHNK1
authored
Sync with en 02 2024 (#612)
* Fix typo * typo "optimzed * Fix typo * removed -> remove; optimzed -> optimized ; * translated Russian word into English * minor fixes * Add WeakRef and FinalizationRegistry article * Improve awkward sentence structure * Improve grammar * Fix formatting char * Update article.md Fix broken link to compat-table * Update article.md Fix broken link to compat-table * refactor: Updated RFC spec Safe Methods URL in Cookies chapter * Replace assignment with equals in Truncate the text task Replace the assignment operator `=` with the equality comparison `==` in both examples in the 'Truncate the text' task. * Add missing word * Add missing CSS unit * fix square brackets * fix: json * Fixed grammar error in regex-groups article.md * Update article.md * Update article.md * Fix grammar * Improve options description * Update samesite content * Remove "surely" * Update article.md * change IndexedDb to IndexedDB (#3660) Co-authored-by: Stanislav (Stanley) Modrak <[email protected]> * Fix grammar and typos (#3628) Co-authored-by: Stanislav (Stanley) Modrak <[email protected]> --------- Co-authored-by: Yang Yang <[email protected]> Co-authored-by: joaquinelio <[email protected]> Co-authored-by: Sagar Panchal <[email protected]> Co-authored-by: MSHNK1 <[email protected]> Co-authored-by: Ilya Kantor <[email protected]> Co-authored-by: Oleksandr Tkachenko <[email protected]> Co-authored-by: Stanislav (Stanley) Modrak <[email protected]> Co-authored-by: Jannis Fröhlking <[email protected]> Co-authored-by: Alexander Mirzoyan <[email protected]> Co-authored-by: CJDumbleton <[email protected]> Co-authored-by: qadzek <[email protected]> Co-authored-by: Mikayel <[email protected]> Co-authored-by: eedris <[email protected]> Co-authored-by: PCH <[email protected]> Co-authored-by: Chen Hua <[email protected]> Co-authored-by: nakhodkin <[email protected]>
1 parent eb173b0 commit 9567d02

34 files changed

+1933
-128
lines changed

1-js/02-first-steps/04-variables/article.md

+18-19
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
Щоб створити змінну, використовуйте ключове слово `let`.
1414

15-
Цей рядок нижче створить (інакше кажучи, *оголосить*) змінну з ім'ям "message":
15+
Цей рядок нижче створить (інакше кажучи, *оголосить*) змінну з імям "message":
1616

1717
```js
1818
let message;
@@ -28,7 +28,7 @@ message = 'Привіт'; // збереження рядка 'Привіт' у
2828
*/!*
2929
```
3030

31-
Тепер рядок збережено в частину пам'яті, яка зв'язана з цією змінною. Ми можемо отримати доступ до даних, використовуючи ім'я змінної:
31+
Тепер рядок збережено в частину памяті, яка звязана з цією змінною. Ми можемо отримати доступ до даних, використовуючи імя змінної:
3232

3333
```js run
3434
let message;
@@ -97,7 +97,7 @@ let user = 'Іван'
9797
9898
Ми легко зрозуміємо концепцію "змінної", якщо уявимо її у вигляді "коробки" для даних з унікальною назвою на наклейці.
9999
100-
Наприклад, змінну `message` можна уявити як коробку з підписом `"Повідомлення"` зі значенням `"Привіт!"` всередині:
100+
Наприклад, змінну `message` можна уявити як коробку з написом `"Повідомлення"` зі значенням `"Привіт!"` всередині:
101101
102102
![](variable.svg)
103103
@@ -179,8 +179,8 @@ let test123;
179179
Ці імена також допустимі:
180180

181181
```js run untrusted
182-
let $ = 1; // оголошено змінну з ім'ям "$"
183-
let _ = 2; // а тепер змінна з ім'ям "_"
182+
let $ = 1; // оголошено змінну з імям "$"
183+
let _ = 2; // а тепер змінна з імям "_"
184184

185185
alert($ + _); // 3
186186
```
@@ -198,14 +198,14 @@ let my-name; // дефіс '-' недопустимий в імені
198198
```
199199

200200
````smart header="Не-латинські букви дозволені, але не рекомендуються"
201-
Можна використовувати будь-яку мову, включно з кирилицею або навіть ієрогліфами, наприклад:
201+
Іменувати змінні можна будь-якими мовами, включно з кирилицею або навіть ієрогліфами, наприклад:
202202
203203
```js
204204
let назва = '...';
205205
let 我 = '...';
206206
```
207207
208-
Технічно тут немає помилки. Такі імена дозволені, проте є міжнародна традиція використовувати англійську мову в іменах змінних (наприклад, `yaLyublyuUkrainu` => `iLoveUkraine`). Навіть якщо ми пишемо маленький скрипт, у нього може бути тривале життя попереду. Людям з інших країн, можливо, доведеться прочитати його не один раз.
208+
Технічно тут немає помилки. Такі імена дозволені, проте є міжнародна традиція використовувати англійську мову в іменах змінних (наприклад, `yaLyublyuUkrainu` => `iLoveUkraine`). Навіть якщо ми пишемо маленький скрипт, у нього може бути тривале життя попереду. Можливо, людям з інших країн колись доведеться прочитати його.
209209
````
210210

211211
````warn header="Зарезервовані слова"
@@ -262,7 +262,6 @@ myBirthday = '01.01.2001'; // помилка, не можна перевизна
262262
263263
Коли програміст впевнений, що змінна ніколи не буде змінюватися, він може оголосити її через `const`, що гарантує постійність і буде зрозумілим для кожного.
264264
265-
266265
### Константи в верхньому регістрі
267266
268267
Широко поширена практика використання констант як псевдонімів для значень, які важко запам’ятати і які відомі до початку виконання скрипта.
@@ -285,20 +284,20 @@ alert(color); // #FF7F00
285284
Переваги:
286285
287286
- `COLOR_ORANGE` набагато легше запам’ятати, ніж `"#FF7F00"`.
288-
- Набагато легше допустити помилку в `"#FF7F00"`, ніж під час введення `COLOR_ORANGE`.
287+
- Набагато легше припуститися помилки в `"#FF7F00"`, ніж під час введення `COLOR_ORANGE`.
289288
- Під час читання коду `COLOR_ORANGE` набагато зрозуміліше, ніж `#FF7F00`.
290289
291-
Коли ми маємо використовувати для констант великі букви, а коли звичайні? Давайте це з'ясуємо.
290+
Коли ми маємо використовувати для констант великі букви, а коли звичайні? Давайте це зясуємо.
292291
293-
Назва "константа" лише означає, що змінна ніколи не зміниться. Але є константи, які відомі нам до виконання скрипта (наприклад, шістнадцяткове значення для червоного кольору), а є константи, які *вираховуються* в процесі виконання скрипта, але не змінюються після їхнього початкового присвоєння.
292+
Назва "константа" лише означає, що змінна ніколи не зміниться. Деякі константи відомі нам до виконання скрипту (наприклад, шістнадцяткове значення для червоного кольору), а деякі константи *вираховуються* в процесі виконання скрипту, але не змінюються після їхнього початкового присвоєння.
294293
295294
Наприклад:
296295
297296
```js
298297
const pageLoadTime = /* час, потрачений на завантаження вебсторінки */;
299298
```
300299
301-
Значення `pageLoadTime` невідоме до завантаження сторінки, тому її ім'я записано звичайними, а не великими буквами. Але це все ще константа, тому що вона не змінює значення після присвоєння.
300+
Значення `pageLoadTime` невідоме до завантаження сторінки, тому її імя записано звичайними, а не великими буквами. Але це все ще константа, тому що вона не змінює значення після присвоєння.
302301
303302
Інакше кажучи, константи з великими буквами використовуються як псевдоніми для "жорстко закодованих" значень.
304303
@@ -308,27 +307,27 @@ const pageLoadTime = /* час, потрачений на завантаженн
308307
309308
Такі імена повинні мати чіткий і зрозумілий сенс, який описує дані, що в них зберігаються.
310309
311-
Іменування змінних -- одна з найважливіших і найскладніших навичок у програмуванні. Швидкий перегляд змінних може показати, чи код був написаний новачком чи досвідченим розробником.
310+
Іменування змінних -- одна з найважливіших і найскладніших навичок у програмуванні. Швидкий погляд на імена змінних може показати, який код був написаний початківцем, а який досвідченим розробником.
312311
313312
У реальному проєкті більшість часу тратиться на змінення і розширення наявної кодової бази, а не на написання чогось цілком нового. Коли ми повертаємося до якогось коду після виконання чогось іншого впродовж тривалого часу, набагато легше знайти інформацію, яку добре позначено. Або, інакше кажучи, коли змінні мають хороші імена.
314313
315-
Будь ласка, приділіть час на обдумування правильного імені для змінної перед її оголошенням. Робіть так, і будете винагороджені.
314+
Будь ласка, приділяйте час на обдумування правильного імені для змінної перед її оголошенням. Робіть так, і будете винагороджені.
316315
317316
Декілька хороших правил:
318317
319-
- Використовуйте імена, які легко прочитати, наприклад, `userName` або `shoppingCart`.
320-
- Уникайте використання абревіатур або коротких імен, таких як `a`, `b`, `c`, окрім тих випадків, коли ви точно знаєте, що так потрібно.
318+
- Використовуйте імена, які легко прочитати, як-от `userName` або `shoppingCart`.
319+
- Уникайте використання абревіатур або коротких імен, таких як `a`, `b` та `c`, окрім тих випадків, коли ви точно знаєте, що так потрібно.
321320
- Робіть імена максимально описовими і лаконічними. Наприклад, такі імена погані: `data` і `value`. Такі імена нічого не говорять. Їх можна використовувати лише тоді, коли з контексту очевидно, на які дані або значення посилається змінна.
322-
- Погоджуйте з вашою командою, які терміни будуть використовуватися. Якщо відвідувач сайту називається "user", тоді ми маємо давати відповідні імена іншим пов'язаним змінним: `currentUser` або `newUser`, замість `currentVisitor` або `newManInTown`.
321+
- Погоджуйте з вашою командою (та з самим собою), які терміни будуть використовуватися у проєкті. Якщо відвідувач сайту називається "user", тоді ми маємо давати відповідні імена іншим повязаним змінним: `currentUser` або `newUser`, замість `currentVisitor` або `newManInTown`.
323322
324323
Звучить легко? Це дійсно так, проте на практиці створення зрозумілих і коротких імен -- рідкість. Дійте.
325324
326-
```smart header="Перевикористовувати чи створювати?"
325+
```smart header="Повторно використовувати чи створювати нові?"
327326
І остання примітка. Є ліниві програмісти, які замість оголошення нових змінних повторно використовують наявні.
328327
329328
У результаті їхні змінні схожі на коробки, в які люди кидають різні речі, не змінюючи на них наклейки. Що зараз міститься всередині коробки? Хто знає? Нам необхідно підійти поближче і перевірити.
330329
331-
Такі програмісти економлять трішки часу на оголошенні змінних, але втрачають вдесятеро більше під час відлагодження.
330+
Такі програмісти економлять трішки часу на оголошенні змінних, але втрачають вдесятеро більше під час налагодження.
332331
333332
Додаткова змінна -- це добро, а не зло.
334333

1-js/03-code-quality/06-polyfills/article.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
Тому це цілком звичайна ситуація, коли лише частина стандарту реалізована у самому рушії.
99

10-
Хороша сторінка, щоб побачити поточний стан підтримки функцій мови, є тут <https://kangax.github.io/compat-table/es6/> (вона велика, нам доведеться ще багато вивчати).
10+
Хороша сторінка, щоб побачити поточний стан підтримки функцій мови, є тут <https://compat-table.github.io/compat-table/es6/> (вона велика, нам доведеться ще багато вивчати).
1111

1212
Як програмісти, ми б хотіли використовувати найновіші можливості. Чим більше хороших речей — тим краще!
1313

@@ -85,7 +85,7 @@ JavaScript дуже динамічна мова -- скрипти можуть
8585
Наприклад, пізніше (коли достатньо вивчите JavaScript), ви зможете налаштувати систему збору проєкту на основі [webpack](https://webpack.js.org/) із плагіном [babel-loader](https://github.com/babel/babel-loader).
8686
8787
Ось хороші ресурси, де можна дізнатися поточний стан підтримки різного функціоналу:
88-
- <https://kangax.github.io/compat-table/es6/> - для чистого JavaScript.
88+
- <https://compat-table.github.io/compat-table/es6/> - для чистого JavaScript.
8989
- <https://caniuse.com/> - для браузерних функцій.
9090
9191
P.S. Зазвичай браузер Google Chrome підтримує більшість найновіших функцій мови, спробуйте його, якщо демонстрація не працює. Більшість демонстрацій працюють із сучасними браузерами.

1-js/05-data-types/03-string/3-truncate/task.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ importance: 5
1111
Наприклад:
1212

1313
```js
14-
truncate("Що я хотів би розповісти на цю тему:", 20) = "Що я хотів би розпо…"
14+
truncate("Що я хотів би розповісти на цю тему:", 20) == "Що я хотів би розпо…"
1515

16-
truncate("Всім привіт!", 20) = "Всім привіт!"
16+
truncate("Всім привіт!", 20) == "Всім привіт!"
1717
```

0 commit comments

Comments
 (0)