Консоль браузера (также известная как консоль JavaScript или веб-консоль) — это мощный инструмент для разработчиков, интегрированный практически в каждый веб-браузер. Консоль, в частности, позволяет разработчикам взаимодействовать с кодом и настраивать его через интерфейс командной строки, получать сообщения и отчеты от скриптов, вести журналирование (логи), а также инспектировать элементы и ресурсы страницы.
В предыдущей практической статье (которая тоже была посвящена работе с консолью) я писал больше о методе console.log();. А сегодня я расширю данную тему и сделаю обзор других полезных методов, которые пригодятся каждому разработчику на JavaScript. Что позволит более эффективно использовать консоль браузера для отладки.
Вы можете открыть консоль, используя разные подходы, несколько отличающиеся в зависимости от ОС/браузера, используя сочетание клавиш (горячие клавиши) или через соответствующее меню в браузере:
Ctrl+Shift+J (Windows/Linux) или Cmd+Option+J (macOS)Ctrl+Shift+K (Windows/Linux) или Cmd+Option+K (macOS)Cmd+Option+C (macOS, после включения меню «Разработка» в настройках).Меню браузера:
Откройте меню браузера (часто представленного тремя точками или гамбургер-меню), затем найдите «Дополнительные инструменты» (More tools) или «Веб-разработчик» (Web Developer) и выберите «Инструменты разработчика» (Developer Tools) или «Веб-консоль» (Web Console). После открытия панели Инструменты разработчика выберите вкладку Консоль (Console).
После открытия консоли у вас будет доступ к объекту console, имеющему глобальную область видимости и предоставляющему доступ к консоли отладки браузера. Теперь перейдем к рассмотрению методов (функций) этого объекта.
console.log(messages)Данный метод выводит сообщение (переменную) в веб-консоль. Более подробно о методе читайте в предыдущем обзоре функции console.log(). Некоторые примеры использования:
console.log("Привет!"); // Привет!
let a = 25;
console.log(a); // 25
let b = 10;
console.log(a + b); // 35
console.log(`${a} + ${b} = ${a + b}`); //25 + 10 = 35
const obj = {name: "some object name"};
console.log(a, b, obj); // 25 10 {name: 'some object name'}
console.clear()Этот метод позволяет удалить все сообщения из консоли и в результате выведет Консоль очищена (Console was cleared). Введите данную команду, если в консоли накопилось много кода и сообщений, и вам нужно очистить консоль:
console.clear();
Для очистки Консоли вы также можете воспользоваться горячими клавишами Ctrl+L.
console.assert(condition, failure message)С помощью этого метода можно запустить простой тест проверки утверждений, где первым параметром будет условие, а во втором параметре указано сообщение, которое выведется только при ошибке (непрохождении проверки):
let a = 25;
console.assert(a === 25, "Это не будет выведено в консоль:"); // ошибка не покажется, ведь условие выполняется
console.assert(a != 25, "Это будет выведено в консоль:", `a = ${a}`); // будет показана ошибка Assertion failed
console.count()Записывает (логирует) количество раз, сколько был вызван конкретный вызов count():
function testCount() {
console.count();
}
testCount(); // default : 1
testCount(); // default : 2
testCount(); // default : 3
console.countReset()Эта функция сбрасывает счетчик; можно изменить метку (default), если передать дополнительный аргумент:
console.count(); // default: 1 console.count(); // default: 2 console.count(); // default: 3 console.countReset(); console.count(); // default: 1
console.log
console.info()С помощью этого метода вы можете просто выводить информативное текстовое сообщение в консоль:
console.info("Информационное сообщение");
Только в браузере Firefox перед сообщением в консоли отображается маленький значок i. Все остальные просто выводят сообщения по типу как в console.log.
console.warn()Этот метод тоже выводит сообщение в консоль, но в отличие от предыдущего, оно будет носить предупредительный характер (будет подсвечено желтым и будет иметь соответствующий значок):
console.warn("это предупредительное сообщение ⚠️");
let temp = 36.6;
if (temp > 36.6) {
console.warn("температура высокая");
}
console.error()Если нужно еще больше привлечь внимание к ошибке в консоли, используйте этот метод. Он «раскрасит» сообщение в красный цвет:
console.error("это более критическая ошибка");
console.trace()Будет полезным, когда нужно вывести трассировку стека текущей функции в консоль. Трассировка – это процесс записи информации о ходе выполнения скрипта, позволяющий лучше понять, как программа работает: увидеть «маршрут» выполнения скрипта, включая вызовы функций, значения переменных и других важных событий:
function a() {
b();
}
function b() {
c();
}
function c() {
console.trace();
}
function testTrace() {
a();
}
testTrace();
console.dir()С помощью этого метода вы можете выводить объекты в консоли в более удобном (для чтения) формате:
const obj = {
"phone": {
mobile: {
first: '123-456-789',
second: '789-456-123',
},
landline: {
single: '123-789-456'
}
},
"name": "some object name"
}
console.dir(obj);
console.dirxml()Этот метод будет полезен, когда нужно вывести в консоли разметку определенного элемента DOM-дерева.
console.dirxml(document.body); // это отобразит все DOM-дерево тэга body элемента html
console.time(label) и console.timeEnd(label)Эти методы пригодятся, когда нужно «засечь время», необходимое для выполнения определенной функции. Мы можем запустить таймер с помощью console.time, а затем завершить его с помощью console.endTime:
function a() {
for (let i = 0; i < 10000; i++) {
// определенный код;
}
}
console.time(); // начинаем отсчет
a(); // запуск функции
console.timeEnd();// default: 0.10302734375 ms
console.time("test"); // начинаем отсчет
a(); // запуск функции
console.timeEnd("test"); // test: 0.033203125 ms
// заметьте, что повторное выполнение функции осуществляется значительно быстрее (благодаря кэшированию)
console.group() и console.groupEnd()С помощью этих функций группа сообщений в консоли будет лучше организована визуально, что может помочь при отладке. В группе сообщения будут показаны с небольшим отступом, а саму группу можно свернуть/развернуть, что добавляет удобства при просмотре. Группы также могут быть внутри других групп. Вот простой пример использования этих методов:
console.group("Дни недели");
console.log("Пн");
console.log("Вт");
console.log("Ср");
console.log("Чт");
console.log("Пт");
console.group("выходные");
console.log("Сб");
console.log("Вс");
console.groupEnd("выходные");
console.groupEnd("Дни недели");
console.table(obj)Этот метод выводит объекты в удобном формате таблицы, что также визуально будет лучше выглядеть при отладке:
let user = {
name: "Степан",
age: 42,
mobile: "123-456-789-0"
}
console.table(user);
На этом все, спасибо за внимание! Надеюсь, что сегодняшняя практичная шпаргалка по методам работы с консолью в браузере пригодится вам при разработке на JavaScript.
WordPress годами был непревзойденным "монолитом": он отвечал и за удобную админ-панель, и за хранение данных,…
В мире веб-серверов часто говорят о противостоянии Nginx vs Apache. Но что, если бы я…
Когда я начинал свой путь в веб-разработке, вопрос "какой веб-сервер использовать?" практически не стоял. Ответ…
Когда речь заходит о веб-серверах, два имени всегда на слуху: Apache и Nginx. Apache —…
В мире веб-разработки мы постоянно сталкиваемся с проблемой: "А у меня на компьютере все работает!".…
На заре моей карьеры веб-разработчика все было относительно просто: установил локальный сервер (помните Denwer?), положил…