Ошибки
Вы точно, как и все мы, будете совершать ошибки в коде. Программные ошибки называют багами. Баг - означает ошибку в программе💾 или в системе, из-за которой программа выдает неожиданное поведение и, как следствие, результат. Большинство программных ошибок возникают из-за ошибок, допущенных разработчиками программы в её исходном коде, либо в её дизайне.
В значении «неуловимой технической ошибки» слово «жучок» (англ. bug) употреблялось задолго до появления компьютеров ️ персоналом телеграфных и телефонных компаний в отношении неполадок с электрооборудованием и радиотехникой. В 1878 году Томас Эдисон писал:
«Так было со всеми моими изобретениями. 1️⃣ Первый шаг — интуиция, которая приходит как вспышка, затем возникают трудности — устройство отказывается работать, и именно тогда проявляются «жучки» — так называют эти мелкие ошибки и трудности — и требуются месяцы пристального наблюдения, исследований и усилий, прежде чем дело дойдёт до коммерческого успеха или неудачи».
Отладка – это процесс поиска и исправления ошибок в скрипте.
Видео
Самые частые ошибки
Надеюсь вы уже успели встретить свои первые ошибки в процессе написания кода. Почему надеюсь? Потому что ошибки - это наши учителя, которые показывают нам, что мы делаем неправильно в своем коде и компьютер ️, точнее интерпретатор кода, нас попросту не может понять. Ошибки при написании кода случаются практически каждый день. Штука в том, чтобы уметь прочесть сообщение об ошибке, которое выдаст вам машина , чтобы оперативно найти и исправить недочёт в написанном коде. Чем больше вы изучаете JavaScript, тем больше начинаете ценить сообщения об ошибках - зачастую они очень верно показывают, где же вы допустили промах.
Пара самых популярных типов ошибок в коде:
SyntaxError
Syntax Error
- нарушение правил языка . Например введите девять плюс точка с запятой 9 + ;
:
Ответ: SyntaxError: Unexpected token ;
Cинтаксическая ошибка, означает всего лишь, что в теле вашего предложения содержится ошибка. Другими словами, то, что вы написали, не является правильным с точки зрения языка JavaScript. Интерпретатор не может прочесть ваше предложение и не знает, что с ним нужно делать. Unexpected token ;
означает, что интерпретатор прочёл что-то, чего прочесть вовсе не ожидал: в нашем случае — точку с запятой ;
.
Еще раз ошибемся!
Введем в консоле пять плюс три и скобка в конце 5+3)
.
У вас есть закрывающая скобка )
, но нет скобки открывающей (
! А ведь скобки всегда ходят парами — не может быть, чтобы была закрывающая, но не нашлось открывающей скобки, и наоборот.
ReferenceError
ReferenceError
- неправильное имя! Объект ReferenceError
представляет ошибку, возникающую при обращении к несуществующей переменной. Например введите пять плюс переменая 5 + переменая
:
Теперь перед нами ошибка обращения ReferenceError
. Быть может, вы уже заметили, в чём здесь дело? Давайте внимательно прочтём сообщение об ошибке (ведь для этого, в конце концов, оно и выдаётся!). Там сказано: переменная is not defined
— переменная не задана, вот в этом-то и кроется наша проблема! Сперва мы должны объявить переменную каким-нибудь, скажем, таким образом:
TypeError
Объект TypeError представляет ошибку, возникающую, когда значение имеет не ожидаемый тип. Мы применяем метод toUpperCase
, с которым подробно познакомимся позже, к типу undefined, а это не допустимо так как этот метод преобразует строку в верхний регистр. Проверьте эту ошибку в консоле браузера, так как в LIVE EDITOR
она не работает.
let foo = undefined
foo.toUpperCase()
Помощь
Мы также можем ошибаться, поэтому если вы обнаружите ошибку на сайте или не точность в переводе, то можете легко помочь исправить ошибку на сайте. Для этого нужно нажать на кнопку Отредактировать эту страницу
в самом низу каждой странице.
Проблемы?
Пишите в Telegram или ВКонтакте, а также подписывайтесь на наши новости
Вопросы:
Что означает Syntax Error
?
- Неправильный порядок знаков
- Нарушение правил языка
- Неуместные скобки
Что означает Reference Error
?
- Необъявленная переменная
- Синтаксическая ошибка
- Не верный тип
Какого рода ошибку вы получите, если попытаетесь запустить этот оператор? \nlet sum = (9 + ; 3)
undefined
SyntaxError
(здесь неожиданно появился ';'. Его следовало переместить в правую часть закрывающей скобки).11;
Для того чтобы понять, на сколько вы усвоили этот урок, пройдите тест в мобильном приложении нашей школы по этой теме или в нашем телеграм боте.
Ссылки:
- MDN web docs
- Код для подростков: прекрасное руководство по программированию для начинающих, том 1: Javascript - Jeremy Moritz
- JavaScript.ru
Contributors ✨
Thanks goes to these wonderful people (emoji key):
Dmitriy Vasilev | Resoner2005 🐛 🎨 🖋 |