Skip to content

Commit 9118849

Browse files
authored
Merge branch 'master' into master
2 parents 60d3d98 + d4de7b2 commit 9118849

File tree

170 files changed

+1619
-1426
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

170 files changed

+1619
-1426
lines changed

.all-contributorsrc

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -776,6 +776,60 @@
776776
"contributions": [
777777
"translation"
778778
]
779+
},
780+
{
781+
"login": "savylovskij",
782+
"name": "savylovskij",
783+
"avatar_url": "https://avatars.githubusercontent.com/u/60821299?v=4",
784+
"profile": "https://github.com/savylovskij",
785+
"contributions": [
786+
"bug"
787+
]
788+
},
789+
{
790+
"login": "ltlaitoff",
791+
"name": "Ivan Schedrovskiy",
792+
"avatar_url": "https://avatars.githubusercontent.com/u/67638952?v=4",
793+
"profile": "https://github.com/ltlaitoff",
794+
"contributions": [
795+
"bug"
796+
]
797+
},
798+
{
799+
"login": "georgyna",
800+
"name": "georgyna",
801+
"avatar_url": "https://avatars.githubusercontent.com/u/34685407?v=4",
802+
"profile": "https://github.com/georgyna",
803+
"contributions": [
804+
"translation"
805+
]
806+
},
807+
{
808+
"login": "AntonShevchuk",
809+
"name": "Anton Shevchuk",
810+
"avatar_url": "https://avatars.githubusercontent.com/u/142057?v=4",
811+
"profile": "http://anton.shevchuk.name",
812+
"contributions": [
813+
"bug"
814+
]
815+
},
816+
{
817+
"login": "Alexandre887",
818+
"name": "Aleksandras",
819+
"avatar_url": "https://avatars.githubusercontent.com/u/74434545?v=4",
820+
"profile": "https://github.com/Alexandre887",
821+
"contributions": [
822+
"bug"
823+
]
824+
},
825+
{
826+
"login": "KhirovSasha",
827+
"name": "Khirov Sasha",
828+
"avatar_url": "https://avatars.githubusercontent.com/u/75026042?v=4",
829+
"profile": "https://github.com/KhirovSasha",
830+
"contributions": [
831+
"bug"
832+
]
779833
}
780834
],
781835
"commitConvention": "angular",

1-js/01-getting-started/1-intro/article.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
3737
1. Рушій (вбудований, якщо це браузер) читає ("розбирає") скрипт.
3838
2. Потім він перетворює ("компілює") скрипт у машинний код.
39-
3. І потім цей машинний код виконується, причому досить швидко.
39+
3. Після чого цей машинний код виконується, причому досить швидко.
4040
4141
Рушій застосовує оптимізації на кожному етапі процесу. Він навіть слідкує за скомпільованим скриптом під час його виконання, аналізуючи дані, що проходять через нього, і оптимізує машинний код, зважаючи на ці знання.
4242
```
@@ -106,12 +106,12 @@ JavaScript -- це єдина браузерна технологія, яка с
106106

107107
Приклади таких мов:
108108

109-
- [CoffeeScript](http://coffeescript.org/) це "синтаксичний цукор" для JavaScript. Вона вводить коротший синтаксис, дозволяючи нам писати більш чіткий і точний код. Зазвичай це до вподоби програмістам на Ruby.
109+
- [CoffeeScript](http://coffeescript.org/) -- це "синтаксичний цукор" для JavaScript. Вона вводить коротший синтаксис, дозволяючи нам писати більш чіткий і точний код. Зазвичай це до вподоби програмістам на Ruby.
110110
- [TypeScript](http://www.typescriptlang.org/) зосереджена на додаванні "строгої типізації даних" для спрощення розробки та підтримки складних систем. Розробляється Microsoft.
111111
- [Flow](http://flow.org/) також додає типізацію даних, але іншим способом. Розробляється Facebook.
112112
- [Dart](https://dart.dev/) -- це автономна мова, яка має власний рушій, що працює в небраузерних середовищах (як-от мобільні застосунки), але також може транспілюватися в JavaScript. Розробляється Google.
113113
- [Brython](https://brython.info/) -- це транспілятор коду Python у JavaScript, що дозволяє писати застосунки на чистому Python без використання JavaScript.
114-
- [Kotlin](https://kotlinlang.org/docs/js-overview.html) це сучасна, лаконічна та безпечна мова програмування, яку можна компілювати для браузера або NodeJS.
114+
- [Kotlin](https://kotlinlang.org/docs/js-overview.html) -- це сучасна, лаконічна та безпечна мова програмування, яку можна компілювати для браузера або NodeJS.
115115

116116
Існують й інші мови. Звісно, навіть якщо ми використовуємо одну з цих транспілюючих мов, ми також повинні знати JavaScript, щоб дійсно розуміти, що робимо.
117117

1-js/01-getting-started/2-manuals-specifications/article.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
# Довідники й специфікації
33

4-
Цей сайт -- *підручник*. Він спрямований на те, щоб допомогти вам поступово вивчити мову. Проте, як тільки ви познайомитеся з основами, вам знадобляться й інші джерела.
4+
Цей сайт -- *посібник*. Він спрямований на те, щоб допомогти вам поступово вивчити мову. Проте, як тільки ви познайомитеся з основами, вам знадобляться й інші джерела.
55

66
## Специфікація
77

@@ -21,17 +21,17 @@
2121

2222
Його можна знайти за цим посиланням <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference>.
2323

24-
Хоча, замість пошуку на сайті, краще використовувати пошукові системи. Просто напишіть "MDN [термін]" в пошуковому запиті. Наприклад, запит "[MDN parseInt](https://www.google.com.ua/search?q=MDN+parseInt)" знайде інформацію про функцію `parseInt`.
24+
Хоча, замість пошуку на сайті, краще використовувати пошукові системи. Просто напишіть "MDN [термін]" в пошуковому запиті. Наприклад, запит <https://www.google.com.ua/search?q=MDN+parseInt> знайде інформацію про функцію `parseInt`.
2525

2626
## Таблиці сумісності
2727

2828
Мова JavaScript активно розвивається -- до неї регулярно додаються нові функції.
2929

3030
Щоб дізнатися, чи підтримує браузер або інший рушій певну можливість JavaScript, дивіться на сайтах:
3131

32-
- <https://caniuse.com/> -- для кожної технології приведено таблицю сумісності з усіма браузерами; тобто, щоб побачити, які браузери підтримують сучасні криптографічні функції, слід ввести в пошуку "[Cryptography](http://caniuse.com/#feat=cryptography)".
32+
- <https://caniuse.com/> -- для кожної технології приведено таблицю сумісності з усіма браузерами тобто, щоб побачити, які браузери підтримують сучасні криптографічні функції, слід ввести в пошуку "[Cryptography](http://caniuse.com/#feat=cryptography)".
3333
- <https://kangax.github.io/compat-table> - таблиця з усіма можливостями мови та рушіями, які підтримують або не підтримують відповідні технології.
3434

35-
Всі ці ресурси корисні в повсякденній розробці, тому що вони містять корисну інформацію про деталі мови, їхню підтримку тощо.
35+
Всі ці ресурси корисні в повсякденній розробці, бо містять корисну інформацію про деталі мови, їхню підтримку тощо.
3636

37-
Будь ласка, збережіть собі ці сайти (або цю сторінку); вони вам знадобляться, якщо буде потреба детальніше розібратися в конкретному функціоналі мови.
37+
Будь ласка, збережіть собі ці сайти (або цю сторінку) вони вам знадобляться, якщо буде потреба детальніше розібратися в конкретному функціоналі мови.

1-js/01-getting-started/3-code-editors/article.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ IDE завантажує проект (який може мати багато
3131

3232
Ось ці варіанти заслуговують вашої уваги:
3333

34-
- [Atom](https://atom.io/) (багатоплатформний, безкоштовний).
3534
- [Sublime Text](http://www.sublimetext.com) (багатоплатформний, безкоштовний на час випробувального терміну).
3635
- [Notepad++](https://notepad-plus-plus.org/) (Windows, безкоштовний).
3736
- [Vim](http://www.vim.org/) та [Emacs](https://www.gnu.org/software/emacs/) також хороші, якщо знати, як ними користуватися.
@@ -43,3 +42,8 @@ IDE завантажує проект (який може мати багато
4342
У нашому великому світі є й інші редактори. Будь ласка, приділіть трохи часу на перегляд декількох редакторів, і виберіть той, який вам найбільш до вподоби.
4443

4544
Вибір редактора, як і будь-якого іншого інструменту, індивідуальний, і залежить від ваших проєктів, звичок і персональних вподобань.
45+
46+
Особиста думка автора:
47+
48+
- Я б використовував [Visual Studio Code](https://code.visualstudio.com/), якщо розробляти доводиться переважно фронтенд.
49+
- В іншому випадку, якщо це здебільшого інша мова/платформа та лише частково фронтенд, тоді розгляньте інші редактори, такі як XCode (Mac), Visual Studio (Windows) або сімейство Jetbrains (Webstorm, PHPStorm, RubyMine тощо, залежно від мови).

1-js/02-first-steps/04-variables/3-uppercast-constant/task.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@ const birthday = '18.04.1982';
1212
const age = someCode(birthday);
1313
```
1414

15-
В нас є константа `birthday`, а також `age`, яка вираховується за допомогою функції, використовуючи значення із `birthday` (в даному випадку деталі не мають значення, тому код функції не розглядається).
15+
В нас є константа `birthday`для дати, а також константа `age`.
16+
17+
Константа `age` обчислюється від `birthday` за допомогою `someCode()`, що означає виклик функції, яку ми ще не розібрали (ми скоро це зробимо!), але деталі тут не мають значення, справа в тому, що `age` обчислюється якимось чином на основі `birthday`.
1618

1719
Чи можна використовувати великі букви для імені `birthday`? А для `age`? Чи для обох змінних?
1820

@@ -21,4 +23,3 @@ const BIRTHDAY = '18.04.1982'; // використовувати великі б
2123

2224
const AGE = someCode(BIRTHDAY); // а тут?
2325
```
24-

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ let message = 'Привіт';
6464
```
6565

6666
Деякі люди також оголошують змінні в такому багаторядковому стилі:
67+
6768
```js no-beautify
6869
let user = 'Іван',
6970
age = 25,
@@ -103,6 +104,7 @@ let user = 'Іван'
103104
Ми можемо покласти будь-яке значення в цю коробку.
104105
105106
Ми також можемо змінювати його стільки разів, скільки захочемо:
107+
106108
```js run
107109
let message;
108110
@@ -149,11 +151,11 @@ let message = "Той"; // SyntaxError: 'message' has already been declared
149151
````
150152

151153
```smart header="Функційне програмування"
152-
Цікаво зазначити, що [функційні](https://uk.wikipedia.org/wiki/Функційне_програмування) мови програмування, такі як [Scala](http://www.scala-lang.org/) або [Erlang](http://www.erlang.org/), забороняють змінювати значення змінних.
154+
Цікаво зазначити, що існують [функційні](https://uk.wikipedia.org/wiki/Функційне_програмування) мови програмування, такі як [Haskell](https://uk.wikipedia.org/wiki/Haskell), в яких заборонено змінювати значення змінних.
153155
154156
У таких мовах збережені в "коробку" значення залишаються там назавжди. Якщо нам потрібно зберегти щось інше, мова змусить нас створити нову коробку (оголосити нову змінну). Ми не можемо використати стару змінну.
155157
156-
Хоча на перший погляд це може здатися дивним, проте ці мови цілком підходять для серйозної розробки. Ба більше, є такі галузі, як от паралельні обчислення, де це обмеження дає певні переваги. Вивчення такої мови (навіть якщо ви не плануєте користуватися нею найближчим часом) рекомендується для розширення кругозору.
158+
Хоча на перший погляд це може здатися дивним, проте ці мови цілком підходять для серйозної розробки. Ба більше, є такі галузі, як от паралельні обчислення, де це обмеження дає певні переваги.
157159
```
158160

159161
## Іменування змінних [#variable-naming]
@@ -192,7 +194,7 @@ let my-name; // дефіс '-' недопустимий в імені
192194
```
193195

194196
```smart header="Регістр має значення"
195-
Змінні з іменами `apple` і `AppLE` -- це дві різні змінні.
197+
Змінні з іменами `apple` і `APPLE` -- це дві різні змінні.
196198
```
197199

198200
````smart header="Не-латинські букви дозволені, але не рекомендуються"
@@ -291,6 +293,7 @@ alert(color); // #FF7F00
291293
Назва "константа" лише означає, що змінна ніколи не зміниться. Але є константи, які відомі нам до виконання скрипта (наприклад, шістнадцяткове значення для червоного кольору), а є константи, які *вираховуються* в процесі виконання скрипта, але не змінюються після їхнього початкового присвоєння.
292294
293295
Наприклад:
296+
294297
```js
295298
const pageLoadTime = /* час, потрачений на завантаження вебсторінки */;
296299
```

0 commit comments

Comments
 (0)