मुख्य कंटेंट तक स्किप करें

Ошибки

@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 она не работает.

var foo = undefinedfoo.toUpperCase()

TypeError

Помощь#

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

Проблемы?#

Problem

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

Вопросы:#

Question

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

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

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

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

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

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!