|
2 | 2 |
|
3 | 3 | Перед тим, як приступити до написання складнішого коду, давайте поговоримо про його налагодження. |
4 | 4 |
|
5 | | -[Налагодження](https://uk.wikipedia.org/wiki/Налагодження_програм) — це процес пошуку і виправлення помилок в скрипті. Усі сучасні браузери і більшість інших середовищ розробки підтримують інструменти налагодження — спеціальний графічний інтерфейс, який значно спрощує налагодження. Він також дозволяє покроково відслідковувати, що саме відбувається в нашому коді. |
| 5 | +[Налагодження](https://uk.wikipedia.org/wiki/Налагодження_програм) — це процес пошуку і виправлення помилок в скрипті. Усі сучасні браузери і більшість інших середовищ розробки підтримують інструменти налагодження — спеціальний графічний інтерфейс, який значно спрощує налагодження. Він також дозволяє покроково відслідковувати, що саме відбувається в коді. |
6 | 6 |
|
7 | 7 | Ми будемо використовувати браузер Chrome, тому що в нього достатньо можливостей для налагодження. В більшості інших браузерів процес буде схожим. |
8 | 8 |
|
|
20 | 20 |
|
21 | 21 | Кнопка-перемикач <span class="devtools" style="background-position:-172px -98px"></span> ліворуч відкриває панель з файлами. |
22 | 22 |
|
23 | | -Натисніть на неї і виберіть файл `hello.js`. Ось що з'явиться: |
| 23 | +Натисніть на неї і виберіть файл `hello.js`. Ось як буде виглядати вкладка Sources: |
24 | 24 |
|
25 | 25 |  |
26 | 26 |
|
27 | 27 | Цей інтерфейс складається з трьох частин: |
28 | 28 |
|
29 | | -1. На панелі **File Navigator** (Навігатор файлів) показані файли HTML, JavaScript, CSS та інші файли, включно із зображеннями, які використовуються на сторінці. Також тут можуть бути файли від розширень Chrome. |
30 | | -2. Панель **Code Editor** (Редагування коду) показує вихідний код. |
31 | | -3. Панель **JavaScript Debugging** (Налагодження JavaScript) для налагодження, ми вернемося до цього пізніше. |
| 29 | +1. На панелі **Навігатор файлів** (File Navigator) показані файли HTML, JavaScript, CSS та інші файли, включно із зображеннями, які використовуються на сторінці. Також тут можуть бути файли від розширень Chrome. |
| 30 | +2. Панель **Редагування коду** (Code Editor) показує вихідний код. |
| 31 | +3. Панель **Налагодження JavaScript** (JavaScript Debugging) використовується для налагодження, ми повернемося до цього пізніше. |
32 | 32 |
|
33 | 33 | Можете знову натиснути на ту саму кнопку <span class="devtools" style="background-position:-172px -122px"></span>, щоб закрити панель і звільнити місце для коду. |
34 | 34 |
|
|
38 | 38 |
|
39 | 39 | Нижче показується результат виконання команд. |
40 | 40 |
|
41 | | -Наприклад, результатом `1+2` буде `3`, а ось інструкція `hello("debugger")` нічого не повертає, тому результат буде `undefined`: |
| 41 | +Наприклад, результатом `1 + 2` буде `3`, а ось інструкція `hello("debugger")` нічого не повертає, тому результат буде `undefined`: |
42 | 42 |
|
43 | 43 |  |
44 | 44 |
|
45 | | -## Breakpoints |
| 45 | +## Точки зупинки (breakpoints) |
46 | 46 |
|
47 | | -Let's examine what's going on within the code of the [example page](debugging/index.html). In `hello.js`, click at line number `4`. Yes, right on the `4` digit, not on the code. |
| 47 | +Давайте розберемося, як працює код на [тестовій сторінці](debugging/index.html). В файлі `hello.js`, натисніть на рядок номер `4`. Так, на саму цифру, не по коді. |
48 | 48 |
|
49 | | -Congratulations! You've set a breakpoint. Please also click on the number for line `8`. |
| 49 | +Вітаємо! Ви поставили точку зупинки. Поставте також точку зупинки на `8` рядку. |
50 | 50 |
|
51 | | -It should look like this (blue is where you should click): |
| 51 | +Номери рядків мають стати синього кольору. Ось що в результаті повинно вийти: |
52 | 52 |
|
53 | 53 |  |
54 | 54 |
|
55 | | -A *breakpoint* is a point of code where the debugger will automatically pause the JavaScript execution. |
| 55 | +*Точка зупинки* — це місце в коді, де налагоджувач автоматично призупинить виконання JavaScript. |
56 | 56 |
|
57 | | -While the code is paused, we can examine current variables, execute commands in the console etc. In other words, we can debug it. |
| 57 | +Поки виконання призупинене, ми можемо переглядати поточні значення змінних, виконувати команди в консолі тощо. Інакше кажучи, можемо налагоджувати. |
58 | 58 |
|
59 | | -We can always find a list of breakpoints in the right panel. That's useful when we have many breakpoints in various files. It allows us to: |
60 | | -- Quickly jump to the breakpoint in the code (by clicking on it in the right panel). |
61 | | -- Temporarily disable the breakpoint by unchecking it. |
62 | | -- Remove the breakpoint by right-clicking and selecting Remove. |
63 | | -- ...And so on. |
| 59 | +В правій частині панелі видно всі точки зупинки. Коли виставлено багато таких точок, та ще й в різних файлах, цей список дозволяє ефективно ними керувати: |
| 60 | +- Швидко переміщатися до будь-якої точки зупинки в коді – потрібно клікнути по ній в правій частині панелі. |
| 61 | +- Тимчасово вимкнути точку зупинки, знявши виділення. |
| 62 | +- Видалити точку – потрібно клікнувши по ній правою кнопкою миші і вибрати «Remove breakpoint» (Видалити точку зупинки). |
| 63 | +- ...тощо. |
64 | 64 |
|
65 | | -```smart header="Conditional breakpoints" |
66 | | -*Right click* on the line number allows to create a *conditional* breakpoint. It only triggers when the given expression is truthy. |
| 65 | +```smart header="Умовні точки зупинки" |
| 66 | +Можна задати так звану *умовну* точку зупинки – клікніть правою кнопкою миші по номеру рядка в коді, виберіть пункт «Edit breakpoint...» і пропишіть умову. Коли ця умова буде справджуватися, то виконання коду призупиниться в цій точці зупинки. |
67 | 67 |
|
68 | | -That's handy when we need to stop only for a certain variable value or for certain function parameters. |
| 68 | +Цей метод використовується, коли потрібно призупинити виконання коду під час специфічних значень змінних або параметрів функції. |
69 | 69 | ``` |
70 | 70 |
|
71 | | -## Debugger command |
| 71 | +## Команда Debugger |
72 | 72 |
|
73 | | -We can also pause the code by using the `debugger` command in it, like this: |
| 73 | +Виконання коду також можна призупиняти командою `debugger` прямо всередині коду, ось так: |
74 | 74 |
|
75 | 75 | ```js |
76 | 76 | function hello(name) { |
77 | | - let phrase = `Hello, ${name}!`; |
| 77 | + let phrase = `Привіт, ${name}!`; |
78 | 78 |
|
79 | 79 | *!* |
80 | | - debugger; // <-- the debugger stops here |
| 80 | + debugger; // <-- тут зупиниться налагоджувач |
81 | 81 | */!* |
82 | 82 |
|
83 | 83 | say(phrase); |
84 | 84 | } |
85 | 85 | ``` |
86 | 86 |
|
87 | | -That's very convenient when we are in a code editor and don't want to switch to the browser and look up the script in developer tools to set the breakpoint. |
| 87 | +Цей спосіб зручний тим, що коли ми працюємо в редакторі коду, нам не потрібно ще додатково переключатися в браузер, і шукати файл, щоб поставити точку зупинки. |
88 | 88 |
|
89 | 89 |
|
90 | 90 | ## Pause and look around |
|
0 commit comments