Перейти к основному содержимому

Ошибки

@serverSerrverlesskiy

Вы точно, как и все мы, будете совершать ошибки🙅‍♂️ в коде📟. Программные ошибки🙅‍♂️ называют багами. Баг - означает ошибку🙅‍♂️ в программе💾 или в системе, из-за которой программа выдает неожиданное поведение и, как следствие, результат. Большинство программных ошибок🙅‍♂️ возникают из-за ошибок🙅‍♂️, допущенных разработчиками программы в её исходном коде📟, либо в её дизайне.

error

В значении «неуловимой технической ошибки🙅‍♂️» слово «жучок» (англ. bug) употреблялось задолго до появления компьютеров🖥️ персоналом телеграфных и телефонных компаний в отношении неполадок с электрооборудованием и радиотехникой. В 1878 году Томас Эдисон писал:

«Так было со всеми моими изобретениями. 1️⃣ Первый шаг — интуиция, которая приходит как вспышка, затем возникают трудности — устройство отказывается работать, и именно тогда проявляются «жучки» — так называют эти мелкие ошибки и трудности — и требуются месяцы пристального наблюдения, исследований и усилий, прежде чем дело дойдёт до коммерческого успеха или неудачи».

Отладка – это процесс поиска и исправления ошибок🙅‍♂️ в скрипте.

Wikipedia

Видео#

Самые частые ошибки#

Teacher

Надеюсь вы уже успели встретить свои первые ошибки🙅‍♂️ в процессе написания кода. Почему надеюсь? Потому что ошибки🙅‍♂️ - это наши учителя, которые показывают нам, что мы делаем неправильно в своем коде📟 и компьютер🖥️, точнее интерпретатор кода📟, нас попросту не может понять. Ошибки🙅‍♂️ при написании кода📟 случаются практически каждый день. Штука в том, чтобы уметь прочесть сообщение💬 об ошибке🙅‍♂️, которое выдаст вам машина🚗, чтобы оперативно найти и исправить недочёт в написанном коде📟. Чем больше вы изучаете JavaScript, тем больше начинаете ценить сообщения💬 об ошибках🙅‍♂️ - зачастую они очень верно показывают, где же вы допустили промах.

Пара самых популярных типов ошибок🙅‍♂️ в коде📟:

SyntaxError#

Error

Syntax Error - нарушение правил языка👅. Например введите ​​​​​девять плюс точка с запятой 9 + ;👇:

Интерактивный редактор
Результат
SyntaxError: Unexpected token (1:8)
1 : return ()
            ^

Ответ: SyntaxError: Unexpected token ;

Cинтаксическая ошибка🙅‍♂️, означает всего лишь, что в теле вашего предложения содержится ошибка🙅‍♂️. Другими словами, то, что вы написали, не является правильным с точки зрения языка👅 JavaScript. Интерпретатор не может прочесть ваше предложение и не знает, что с ним нужно делать. Unexpected token ; означает, что интерпретатор прочёл что-то, чего прочесть вовсе не ожидал: в нашем случае — точку с запятой ;.

Еще раз ошибемся🙅‍♂️! Введем в консоле пять плюс три и скобка в конце 5+3).

Интерактивный редактор
Результат
SyntaxError: Unexpected token (1:8)
1 : return ()
            ^

У вас есть закрывающая скобка ), но нет скобки открывающей (! А ведь скобки всегда ходят парами — не может быть, чтобы была закрывающая, но не нашлось открывающей скобки, и наоборот.

ReferenceError#

Error

ReferenceError - неправильное имя! Объект ReferenceError представляет ошибку🙅‍♂️, возникающую при обращении к несуществующей переменной. Например введите пять плюс переменая 5 + переменая:

Интерактивный редактор
Результат
SyntaxError: Unexpected token (1:8)
1 : return ()
            ^

Теперь перед нами ошибка обращения ReferenceError. Быть может, вы уже заметили, в чём здесь дело? Давайте внимательно прочтём сообщение💬 об ошибке (ведь для этого, в конце концов, оно и выдаётся!). Там сказано: переменная 🔔 is not defined — переменная не задана, вот в этом-то и кроется наша проблема! Сперва мы должны объявить🗣️ переменную каким-нибудь, скажем, таким образом:

Интерактивный редактор
Результат
SyntaxError: Unexpected token (1:8)
1 : return ()
            ^

TypeError#

Объект TypeError представляет ошибку, возникающую, когда значение имеет не ожидаемый тип. Мы применяем метод toUpperCase, с которым подробно познакомимся позже, к типу undefined, а это не допустимо так как этот метод преобразует строку в верхний регистр. Проверьте эту ошибку в консоле браузера, так как в LIVE EDITOR она не работает.

let foo = undefinedfoo.toUpperCase()

TypeError

Помощь#

Мы также можем ошибаться, поэтому если вы обнаружите ошибку на сайте или не точность в переводе, то можете легко помочь исправить ошибку на сайте. Для этого нужно нажать на кнопку Отредактировать эту страницу в самом низу каждой странице.

Проблемы?#

Problem

Пишите в Discord или телеграмм чат, а также подписывайтесь на наши новости

JavaScript Camp

Вопросы:#

Question

Что означает Syntax Error?

  1. Неправильный порядок знаков
  2. Нарушение правил языка
  3. Неуместные скобки

Что означает Reference Error?

  1. Необъявленная переменная
  2. Синтаксическая ошибка
  3. Не верный тип

Какого рода ошибку вы получите, если попытаетесь запустить этот оператор? \nlet sum = (9 + ; 3)

  1. undefined
  2. SyntaxError (здесь неожиданно появился ';'. Его следовало переместить в правую часть закрывающей скобки).
  3. 11;

Для того чтобы понять, на сколько вы усвоили этот урок, пройдите тест в мобильном приложении нашей школы по этой теме или в нашем телеграм боте.

Sumerian school

Ссылки:#

  1. MDN web docs
  2. Код для подростков: прекрасное руководство по программированию для начинающих, том 1: Javascript - Jeremy Moritz
  3. JavaScript.ru

Contributors ✨#

Thanks goes to these wonderful people (emoji key):


Dmitriy Vasilev

📖

Resoner2005

🐛 🎨 🖋

Become a Patron!