Рубріки: Решения

Игры с консолью: советы и хитрости по использованию console.log()

Богдан Мирченко

Использование console.log() для отладки JavaScript — одна из самых распространенных практик среди разработчиков, но этот инструмент способен на большее. Фронтенд-разработчик Стефи Рошка опубликовала пост с приемами, которые позволят использовать console.log() на продвинутом уровне. 

1. Стилизация console.log()

Понадобится ли вам это? Скорее всего, нет, но если хотите оставить «пасхалку» на консоли вашего сайта-портфолио, сделайте ее стилизованной, как на примере ниже: 

Чтобы так сделать, воспользуйтесь методом подстановки строк, описанным ниже. С его помощью вводится переменная %c, а затем в качестве параметра переменной добавляются стили.

console.log(
  "%cDebug with style with these console.log tricks",
  "font-size:50px; background:#F9F9F9; color:#581845; padding:10px; border-radius:10px;"
);

Что получится:

2. Предупреждения, ошибки, информация

Возможно, вы видели предупреждения и ошибки в консоли, но не знали, как их добавить. Иконка info больше не появляется, поэтому в Chrome нет визуальной разницы между console.log и console.info. 

 // 4. WARNING!
 console.warn("console.warn()");

// 5. ERROR 😐
console.error("console.error()");

// 6. INFO
console.info("console.info()");

Что получится:

3. Очистка консоли

Чтобы очистить консоль, просто запустите:

console.clear();

4. Группировка

Для упрощенной работы с логами можно сгруппировать их.

1.Расширенный список

console.group("Console group example");
console.log("One");
console.log("Two");
console.log("Three");
console.groupEnd("Console group example");

Что получится:

Это может быть полезно, например, при просмотре объекта или при желании показать результаты более организованным образом, как показано ниже.

const dogs = [
 { name: "Ashley", age: 5 },
 { name: "Bruno", age: 2 },
 { name: "Hugo", age: 8 }];

dogs.forEach((dog) => {
 console.group(`${dog.name}`);
 console.log(`This is ${dog.name}`);
 console.log(`${dog.name} is ${dog.age} years old`);
 console.log(`${dog.name} is ${dog.age * 7} dog years old`);
 console.groupEnd(`${dog.name}`);
});

Что получится:

2. Свернутый список

Чтобы получить тот же результат, но в виде свернутого списка, нужно изменить console.group на console.groupCollapsed. 

Что получится:

5. Ведение журналов console.logs

Метод console.count() может пригодиться, если нужно узнать, сколько раз компонент был визуализирован или сколько раз вызывалась функция. Если хотите, чтобы счетчик запускался заново, можно использовать переменную countReset. 

// 11. COUNTING
console.count("one");
console.count("one");
console.count("one");
console.count("two");
console.count("three");
console.count("two");

Что получится: 

6. Вывод массивов или объектов в виде таблицы

Чтобы представить массив как таблицу используется метод console.group(). 

// 13. TABLE for ARRAYS
const dogs = [
{ name: "Ashley", age: 5 },
{ name: "Bruno", age: 2 },
{ name: "Hugo", age: 8 },
];

const cats = ["Juno", "Luna", "Zoe"];      
console.table(dogs);
console.table(cats);

Что на выходе:

7. Подстановка строк и литералы шаблона

Для стилизации console.log() используется подстановка строк, но в других случаях лучше использовать литералы шаблона. Вот как это сделать: 

const emoji = "🙈"
console.log("This %s is my favorite!", emoji);

Стоит отметить, что в отличие от литералов шаблона метод подстановки строк не подразумевает использования + для сложения строк: 

const emoji = "🙈"
console.log("This " + emoji+ " is my favorite emoji");

Вывод: 

const emoji = "🙈"
console.log(`This ${emoji} is my favorite emoji`);

Больше приемов для работы с console.log() доступно по ссылке.

Останні статті

Обучение Power BI – какие онлайн курсы аналитики выбрать

Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…

13.01.2024

Work.ua назвал самые конкурентные вакансии в IТ за 2023 год

В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…

08.12.2023

Украинская IT-рекрутерка создала бесплатный трекер поиска работы

Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…

07.12.2023

Mate academy отправит работников в 10-дневный оплачиваемый отпуск

Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…

07.12.2023

Переписки, фото, история браузера: киевский программист зарабатывал на шпионаже

Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…

07.12.2023

Как вырасти до сеньйора? Девелопер создал популярную подборку на Github

IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…

07.12.2023