Консоль браузера (также известная как консоль 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.
Дискуссии вокруг этой темы вас, вероятно, уже утомили. Но я в данной статье постараюсь показать…
Никогда не указывайте на ошибки, если не знаете, как их исправить Джордж Бернард Шоу
Когда необходимо сделать выбор, а вы его не делаете, — это тоже выбор Уильям Джеймс…
Когда вы ставите перед собой цели, очень важно быть максимально конкретным. Здесь не поможет простая…
Современный человек думает, что теряет время, когда не действует быстро, однако не знает, что делать…
Уникальная элегантность и долговечность: почему стоит купить травертин и купить гранит в Барекс Мармур…