You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/uk/2-1-Identifiers.md
+47-20
Original file line number
Diff line number
Diff line change
@@ -4,53 +4,80 @@
4
4
5
5
> Оголошення та присвоєння (assignment)
6
6
7
-
код
7
+
```js
8
+
let migrationYear =622;
9
+
```
8
10
9
11
Цей запис на JavaScript і тут `migrationYear` — ім'я ідентифікатора, `=` це оператор присвоєння, `622` — значення, а `let` означає, що значення може бути переприсвоєно, тобто, змінено.
10
12
11
13
На C і C++ аналогічний код виглядатиме так:
12
14
13
-
код
14
-
15
+
```c
16
+
int migrationYear = 622; // тут int обозначает целый тип
17
+
```
15
18
16
19
У Python, як і JavaScript, оператор присвоєння не вимагає вказувати тип, він визначається з типу літералу. А при присвоєнні ми не можемо заборонити переприсвоєння ідентифікатору іншого значення.
17
20
18
-
код
21
+
```py
22
+
migrationYear =622
23
+
```
19
24
20
25
Операція присвоєння у багатьох мовах повертає значення (має поведінку виразу). Таким чином, можна написати:
21
26
22
-
код
23
-
24
-
27
+
```js
28
+
let year;
29
+
constmigration= (year =622); // теперь оба идентификатора
30
+
console.log({ migration, year }); // имеют значение 622
31
+
```
25
32
26
33
Але такий синтаксис погано читається і може ввести в оману, як і завдання кількох ідентифікаторів через кому:
27
34
28
-
код
35
+
```
36
+
let year = 622, migration = 'Hijrah', i, counter = 0;
37
+
```
29
38
30
39
Економія в коді це добре, але не заощаджуйте літери та рядки за рахунок читабельності коду. Натомість краще написати:
31
40
32
-
код
33
-
41
+
```js
42
+
let year =622;
43
+
let migration ='Hijrah';
44
+
let i;
45
+
let counter =0;
46
+
```
34
47
35
48
А ще краще відразу вирішити, які ідентифікатори не змінюватимуть свого значення і задати їх через `const`:
36
49
37
-
код
50
+
```js
51
+
constyear=622;
52
+
constmigration='Hijrah';
53
+
let i;
54
+
let counter =0;
55
+
```
38
56
39
57
> Змінні та константи
40
58
41
59
У повсякденному спілкуванні навіть професіонали часто плутають поняття, називаючи константу змінною, адже слово ідентифікатор занадто довге, а слово константа занадто багатозначне. Це трапляється з локальними константами, які ми називаємо у стилі `lowerCamel`, наприклад, усередині функцій. Їх значення може бути різним за різних викликів функції, а є глобальні значення, яких однакове у будь-якому місці програми або файлу, і ми називаємо їх у стилі `UPPER_SNAKE`.
42
60
43
-
код
61
+
```js
62
+
constWATCH_TIMEOUT=5000; // Глобальная константа
63
+
```
44
64
45
-
код
65
+
```js
66
+
constcityName='Beijing'; // Локальная константа
67
+
```
46
68
47
-
код
69
+
```js
70
+
let distance =0; // Переменная
71
+
```
48
72
49
73
Ми можемо змінювати значення змінної на відміну від константи, а для деяких мов, як JavaScript і Python, можемо змінювати і тип, але це сильно погіршуватиме читаність коду, наприклад:
50
74
51
-
код
52
-
53
-
75
+
```js
76
+
let migration ='Hijrah'; // используем переменную первый раз
77
+
console.log(migration); // вывод строки
78
+
migration =622; // используем повторно для других целей
79
+
console.log(migration); // вывод числа
80
+
```
54
81
55
82
> Літерал (Literal) — запис значення коду програми
56
83
@@ -70,7 +97,8 @@
70
97
71
98
Тут багато конструкцій знайомі, але є й нові (функція, цикл, умова), вони будуть докладніше розглянуті в наступних розділах, хоча їхнє просте використання не складно прочитати і зрозуміти вже зараз.
0 commit comments