JavaScript | console.error() — efim360.ru

JavaScript | console.error()

Введение

Изучая JavaScript, вторым по популярности выражением можно встретить console.error(). Что оно означает и зачем нужно?

Если говорить простыми словами, то console.error() - это способ увидеть ошибочные места работы программы (или алгоритма).

Выражение console.error() нужно только для разработчиков и оно не представляет никакой ценности для конечного пользователя, который пользуется приложением.

Выражение console.error() записывается в исполняемых файлах приложения, в тех местах, где нужно отследить ошибочные места работы программы.

Выражение console.error() можно запихнуть в любое место программы безболезненно. Ничего страшного при этом не произойдёт.

 

Что нужно знать до console.error()?

Прежде всего вам нужно понимать, что такое ОБЪЕКТ в JavaScript. То есть что является объектом в JS.

После этого нужно знать, что такое ПРИКЛАДНЫЕ ИНТЕРФЕЙСЫ ПРОГРАММИРОВАНИЯ в браузере - API.

Соединив эти два понятия вместе мы получаем такой ОБЪЕКТ в браузере, при помощи которого можно отслеживать работу наших алгоритмов (функций) и выводить информацию в специальную вкладку браузера на любом этапе выполнения программы.

Этот объект называется console.

У объектов в JavaScript могут быть свои собственные методы, которые знают всю информацию о самом объекте и которые могут вносить определённые изменения в работу. Таким образом, объект console является одним из свойств Глобального Объекта в JavaScript. Если мы говорим про клиентскую сторону, то это объект window. Если мы говорим про серверную сторону, то это объект global.

 

В чём проблема? Простой пример необходимости использования console.error()

Давайте напишем (объявим) простую функцию, которая складывает два числа друг с другом:

function sumab (a,b){
  return a+b
}

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

Например, мы всегда ожидаем передать два Числа:

sumab(1, 2)
Сложили два числа в функции и вернули - JavaScript
Сложили два числа в функции и вернули - JavaScript

В этом случае всё пройдёт гладко так как оба параметра являются Числами.

Но что случится, если мы передадим строку и число?

sumab('sas', 2)
Сложили число и строку в функции и вернули - JavaScript
Сложили число и строку в функции и вернули - JavaScript

В этом случае всё тоже будет хорошо и вместо сложения получится конкатенация. Но нам такой вариант не подходит. Мы хотим во время разработки отлавливать такие моменты. Как это сделать?

 

Решение

Для решения нашей задачи мы можем использовать условную конструкцию с IF.

Для отлова ошибочных данных на клиенте можно использовать выражение console.error().

Мы изменим написание нашей функции:

function sumzx (z, x){
  if(z.constructor.name!='Number' || x.constructor.name!='Number'){
    console.error('Переменная не является числом');
    return;
  }
  return z+x;
}

Результат работы

sumzx(1,4)
sumzx('asa',4)
sumzx([],4)
Применение выражения console.error - JavaScript
Применение выражения console.error - JavaScript

Обратите внимание на то как выполняются вызовы функций. Как только мы передаём в неё объект, отличный от Number, тогда мы получаем специальное графическое уведомление на вкладку браузера в инструментах разработчика.

Причём удобство заключается в том, что мы можем описать ошибку на своём языке. Мы можем очень детально расписать состав ошибки. Так мы будем понимать, что программа работает некорректно и нужно что-то в ней менять.

В браузере Google Chrome метод error() оформляется в виде красного кружочка с крестиком из белых линий посередине. Справа от значка ошибки идёт серый прямоугольник, который раскрывает проблему.

 

Официальная документация по объекту console

Объект console является прикладным интерфейсом программирования в браузере и он расширяет функционал "глобального объекта".

Ознакомиться с документацией по объекту console можно по адресу - https://console.spec.whatwg.org