Какие ошибки есть в JavaScript?

  —  2 минуты

#theory#javascript
Читать статью в Telegram

Уже не помню где, скорее всего в чате тг канала, просили разобрать какие есть ошибки в языке.

Что вообще такое ошибка?

Ошибка — ответ программы на возможное неожиданное, некорректное поведение. Всего в JavaScript существует всего 7 встроенных ошибок, но также есть возможность создавать собственные, что я уже разбирал в отдельном посте ранее.

Также важно знать, что в языке есть встроенная конструкция%

javascript
1try {
2    // потенциально ошибочный код
3} catch (error) {
4    // обработка ошибки из
5    // участка кода выше
6}
7

Этой вводной должно быть достаточно, перейдём к самим ошибкам:

SyntaxError — ошибка, связанная с некорректным синтаксисом в программе, то есть некорректной, постановкой скобок, точек с запятой и прочих символов:

javascript
1console.log(()
2// Uncaught SyntaxError: Unexpected token ')'
3

Reference Error — возникает при попытке обратиться к несуществующей переменной

javascript
1progway.length
2// ReferenceError: progway is not defined
3

Type Error — возникает при попытке обратиться к несуществующему свойству объекта или попытке вызвать то, что вызвать нельзя

javascript
1console.log(null.length)
2// TypeError: Cannot read property 'length' of null
3
4undefined()
5// TypeError: undefined is not a function
6

Range Error — возникает, когда мы выходим за диапазон допустимых значений

javascript
1new Array(10_000_000_000)
2// RangeError: Недопустимая длина массива
3

URIError — возникает при некорректной обработке URI встроенными средствами языка

javascript
1decodeURIComponent('%')
2// URIError: URI malformed
3

Eval Error — по сути, любая вышеперечисленная ошибка внутри функции eval

javascript
1eval('progway.length')
2

Как вы можете видеть, ошибок очень мало. Последние три встречаются так редко, что их буквально можно не учитывать. Практически любая библиотека или фреймворк предоставляют собственный набор ошибок, поэтому придётся обращать внимание и на них. К счастью, большинство из них имеют достаточно подробное описание уже в самой консоли.

Вся статья вдохновлена статьей с доки

Статья была полезной?