📖
Читаємо повідомлення про помилки
TypeError, ReferenceError, SyntaxError — що вони кажуть і як їх виправляти
Типи помилок
| Помилка | Коли виникає | Приклад |
|---|---|---|
| SyntaxError | Неправильний синтаксис | 'if (x' — незакрита дужка |
| ReferenceError | Змінна не існує | 'console.log(x)' коли 'x' не оголошена |
| TypeError | Неправильний тип | 'null.name' — у null нема властивостей |
| RangeError | Значення поза діапазоном | 'new Array(-1)' |
| NetworkError | Проблема з мережею | fetch() без інтернету |
Як читати stack trace
''' TypeError: Cannot read properties of undefined (reading 'name') at getUserName (app.js:15:20) at main (app.js:32:10) '''
Читаємо по рядках:
- 'TypeError' — тип помилки
- 'Cannot read properties of undefined' — деталі: намагаємось читати властивість у 'undefined'
- '(reading 'name')' — саме властивість 'name'
- 'at getUserName (app.js:15:20)' — де сталося: функція 'getUserName', файл 'app.js', рядок 15, символ 20
🔍
Stack trace — маршрут до помилки
Stack trace — як маршрут GPS в зворотньому порядку. Показує де ти зараз (де впала помилка) і звідки прийшов (які функції викликались). Читай **зверху вниз** — перший рядок вказує на точне місце помилки.
Корисні фрази при пошуку на Stack Overflow
- 'how to X in JavaScript' — як зробити X
- 'JavaScript X not working' — чомусь X не працює
- 'difference between X and Y' — різниця між X та Y
- 'X is not a function' — скопіюй помилку прямо в пошук
- '[javascript] X' — квадратні дужки = тег (фільтр по мові)