Работа с консолью: полезные скрипты для разработчика
Основы работы с консолью JavaScript
Консоль инструментов разработчика позволяет выполнять произвольный JavaScript в контексте текущей страницы. Для открытия консоли используется клавиша F12 или сочетание Ctrl+Shift+I (Windows/Linux) или Cmd+Option+I (Mac). После этого следует перейти на вкладку Console.
Простой пример команды:
console.log("Привет, мир!");Js консоль (консоль javascript)
Результат: в консоли появится текст "Привет, мир!", а затем вернется значение undefined (так как console.log не возвращает значение).
Типичные ошибки: синтаксическая ошибка (SyntaxError) при пропуске кавычек или скобок. Например, console.log(Привет) вызовет ошибку. Кавычки в JavaScript обязательны для строк. Точку с запятой ставить необязательно, но это хорошая привычка.
Если сообщение не отображается, проверьте фильтр уровней логов (All, Errors, Warnings, Info).
Как вывести сообщение с уровнем предупреждения?
Используется метод console.warn(). Вывод окрашивается желтым цветом и может содержать значок предупреждения.
console.warn("Это предупреждение");Js команда (команды javascript в консоли браузера)
(отображается желтое сообщение)
Предупреждения могут быть скрыты, если в фильтре выбран только уровень Errors.
Как вывести данные в виде таблицы?
Метод console.table() отображает массивы и объекты в виде таблицы с колонками.
console.table([{a:1,b:2},{a:3,b:4}]);(таблица с колонками a и b)
Для вложенных объектов глубже одного уровня таблица может не раскрывать структуру.
Как измерить время выполнения кода?
Команды console.time('метка') и console.timeEnd('метка') позволяют замерить время между вызовами.
console.time('loop');
for(let i=0;i<10000;i++){}
console.timeEnd('loop');loop: 0.123 ms
Метка в time и timeEnd должна совпадать, иначе возникнет ошибка "Timer 'метка' does not exist".
Как получить элемент на странице?
Используется document.querySelector() или $0 (для элемента, выбранного на вкладке Elements).
let el = document.querySelector('h1');
console.log(el.textContent);(текст заголовка)
Если элемент не найден, возвращается null. Обращение к свойству null вызовет ошибку. Следует проверять наличие элемента.
Как изменить стиль элемента?
Через свойство style. Изменения видны сразу.
document.querySelector('h1').style.color = 'red';Цвет заголовка станет красным.
Изменения применяются только для текущей загрузки страницы и исчезают после перезагрузки.
Как выполнить асинхронный запрос (fetch) прямо в консоли?
В современных браузерах поддерживается top-level await. Команда выполняется с ключевым словом await.
await fetch('https://jsonplaceholder.typicode.com/posts/1').then(r=>r.json())(объект с данными поста)
В старых браузерах top-level await не работает. В таком случае код оборачивается в асинхронную функцию: (async () => { ... })()
Как сохранить данные в localStorage?
Методы localStorage.setItem() и localStorage.getItem().
localStorage.setItem('theme', 'dark');
console.log(localStorage.getItem('theme'));dark
localStorage хранит только строки. Для хранения объектов необходимо использовать JSON.stringify() и JSON.parse().
Как поставить точку останова в коде?
Команда debugger; при выполнении останавливает выполнение и открывает вкладку Sources.
for(let i=0;i<5;i++){debugger; console.log(i);}При каждой итерации выполнение приостановится.
Если инструменты разработчика закрыты, debugger может быть проигнорирован.
Расширенные примеры команд JavaScript в консоли
Ниже приведены примеры, демонстрирующие более сложные сценарии использования консоли.
Пример 1: Манипуляции с массивом
let nums = [1,2,3,4,5];
let squared = nums.map(n=>n*n);
console.log(squared);[1, 4, 9, 16, 25]
Пояснение: метод map создает новый массив, применяя функцию к каждому элементу.
Пример 2: Создание и добавление DOM-элемента
let newDiv = document.createElement('div');
newDiv.textContent = 'Создано в консоли';
newDiv.style.cssText = 'border:1px solid red; padding:10px;';
document.body.appendChild(newDiv);Результат: на странице появляется красный блок с текстом.
Пример 3: Отправка POST-запроса с JSON
await fetch('https://jsonplaceholder.typicode.com/posts', {
method: 'POST',
body: JSON.stringify({title:'foo', body:'bar', userId:1}),
headers: {'Content-Type':'application/json'}
}).then(r=>r.json()){
"title": "foo",
"body": "bar",
"userId": 1,
"id": 101
}Пояснение: отправка данных на сервер с указанием метода, заголовков и тела.
Пример 4: Использование console.group для структурирования вывода
console.group('Группа 1');
console.log('Элемент 1');
console.log('Элемент 2');
console.groupEnd();
console.group('Группа 2');
console.log('Элемент A');
console.groupCollapsed('Подгруппа');
console.log('Скрытый элемент');
console.groupEnd();Результат: в консоли отображаются сворачиваемые группы.
Пример 5: Обработка ошибок с try...catch в консоли
try {
let x = JSON.parse('некорректный JSON');
console.log(x);
} catch(e) {
console.error('Ошибка парсинга:', e.message);
}Ошибка парсинга: Unexpected token
Пояснение: перехват исключений предотвращает остановку выполнения.
Пример 6: Использование reduce для подсчета суммы
[10,20,30].reduce((acc,val)=>acc+val,0)60
С помощью reduce можно агрегировать данные.
Пример 7: Вывод свойств объекта с console.dir
console.dir(document.location)Отображает интерактивный список свойств объекта.
Пример 8: Подсчет вызовов функции с console.count
function test(){console.count('вызов');}
test(); test();вызов: 1 вызов: 2
Полезно для отладки циклов и обработчиков.
Пример 9: Условный вывод с console.assert
let value = 5;
console.assert(value > 10, 'Значение меньше или равно 10');(только если условие ложно, появляется сообщение об ошибке)
Метод выводит сообщение, только когда условие ложно.