Вот 10 методов и трюков с консольными объектами, которые нужно знать!
Вы все еще используете console.log
для всех ваших потребностей в отладке JavaScript в 2023 году?
Пришло время обновить свои навыки и открыть для себя всю мощь объекта консоли JavaScript.
От console.table
до console.time
эти передовые методы и хитрости помогут вам улучшить качество и читабельность результатов отладки и упростят поиск и устранение неполадок в коде.
Так почему бы в 2023 году не вступить в ряды отладчиков JavaScript-ниндзя и не изучить эти важные приемы? Ваш код скажет вам спасибо.
😞 Проблема
Одна из самых больших проблем с использованием только console.log
заключается в том, что он может загромождать ваш код и затруднить чтение. Кроме того, он не очень информативен сам по себе. Он просто выводит значение того, что вы ему передаете, без какого-либо контекста или дополнительной информации.
Имея это в виду, вот десять методов и приемов объекта консоли JavaScript, о которых вам следует знать (и попробуйте их; я знаю, что проще использовать console.log, но это может улучшите свой опыт отладки, сделайте это на будущее сами!).
1️⃣ console.table
Этот метод позволяет выводить табличные данные в удобочитаемом и понятном формате. Вместо того, чтобы просто вывести из системы массив или объект, console.table
будет отображать данные в табличном формате, что упрощает просмотр и понимание.
// Output an array of objects as a table const users = [ { id: 1, name: 'John Doe' }, { id: 2, name: 'Jane Doe' } ]; console.table(users);
Это выведет массив users
в табличном формате со свойствами каждого объекта в виде столбцов и объектов в виде строк.
2️⃣console.group
console.group
и console.groupEnd.
Эти методы позволяют создать в консоли вложенную сворачиваемую группу. Это может быть полезно для организации и структурирования выходных данных отладки, чтобы вы могли легко видеть, что происходит на разных уровнях вашего кода.
console.group('User Details'); console.log('Name: John Doe'); console.log('Age: 32'); console.groupEnd();
Это создаст вложенную сворачиваемую группу в консоли с заголовком «Сведения о пользователе». Сообщения журнала внутри группы будут расположены с отступом и сгруппированы вместе.
3️⃣консоль.время
console.time
и console.timeEnd.
Эти методы позволяют измерить количество времени, необходимое для выполнения блока кода. Это может быть полезно для выявления узких мест производительности в вашем коде и их оптимизации.
console.time('Fetching data'); fetch('https://reqres.in/api/users') .then(response => response.json()) .then(data => { console.timeEnd('Fetching data'); // Process the data });
Это позволит измерить время, необходимое для получения данных с указанного URL-адреса и анализа ответа JSON. Прошедшее время будет выведено в консоль.
4️⃣console.assert
Этот метод позволяет вам писать в коде утверждения, которые всегда должны быть истинными. Если утверждение не выполняется, console.assert
выводит сообщение об ошибке в консоли. Это может быть полезно для обнаружения ошибок и проверки того, что ваш код работает должным образом.
function add(a, b) { return a + b; } // Test the add function const result = add(2, 3); console.assert(result === 5, 'Expected 2 + 3 = 5');
Это выведет сообщение об ошибке в консоль, если функция add
не вернет ожидаемый результат 5 при вводе 2 и 3.
5️⃣Стили логов
Используйте объект console
для вывода стилей и цветов. Объект console
позволяет выводить текст в различных цветах и стилях, делая отладочный вывод более читабельным и понятным.
Вы можете использовать заполнитель %c
в своих операторах console.log
, чтобы указать стиль CSS для выходного текста.
console.log('%cHello world!', 'color: red; font-weight: bold;');
Это выведет текст «Hello world!» красным и жирным шрифтом, используя указанный стиль CSS.
Кстати, если вам нужны еще более качественные журналы, вы можете использовать специализированную библиотеку журналов, которая предлагает больше настроек. Я добавил действительно хороший в эту статью, которую я написал:
6️⃣console.trace
Используйте метод console.trace
для вывода трассировки стека. Это может быть полезно для понимания потока выполнения вашего кода и определения откуда приходит конкретное сообщение журнала.
function foo() { console.trace(); } function bar() { foo(); } bar();
Это выведет трассировку стека в консоль, показывающую последовательность вызовов функций, ведущих к вызову console.trace
. Вывод будет выглядеть примерно так:
7️⃣console.dir
Используйте метод console.dir
для вывода свойств объекта в иерархическом формате. Это может быть полезно для изучения структуры объекта и просмотра всех его свойств и методов.
const obj = { id: 1, name: 'John Doe', address: { street: '123 Main St', city: 'New York', zip: 10001 } }; console.dir(obj);
Это выведет свойства объекта obj
в иерархическом формате, что позволит вам увидеть структуру объекта и все его свойства и значения.
8️⃣console.count
Используйте метод console.count
для подсчета количества выходных данных определенного сообщения журнала. Это может быть полезно для отслеживания того, сколько раз выполняется определенный путь кода, а также для выявления горячих точек в вашем коде.
function foo(x) { console.count(x); } foo('hello'); foo('world'); foo('hello');
Это выведет строку «hello» в консоль, за которой следует число 1. Затем он выведет в консоль строку «world», за которой следует число 1. Наконец, он снова выведет строку «hello», за которой следует цифрой 2 (поскольку она вызывалась дважды).
9️⃣консоль.очистить
Используйте метод console.clear
для очистки вывода консоли. Это может быть полезно для организованного и не загроможденного вывода отладочной информации, а также для облегчения сосредоточения внимания на интересующей вас информации.
console.log('Hello world!'); console.clear(); console.log('This log message will appear after the console is cleared.');
Это выведет строку «Hello world!» в консоли, после чего следует пустая строка (поскольку консоль очищена). Затем он выведет строку «Это сообщение журнала появится после очистки консоли».
1️⃣0️⃣console.profile
Используйте методы console.profile
и console.profileEnd
для измерения производительности блока кода. Это может быть полезно для выявления узких мест в производительности и оптимизации кода для повышения скорости и эффективности.
console.profile('MyProfile'); // Run some code that you want to measure the performance of for (let i = 0; i < 100000; i++) { // Do something } console.profileEnd('MyProfile');
Это запустит профилирование блока кода между вызовами console.profile
и console.profileEnd
и выведет результаты в консоль при выполнении вызова console.profileEnd
. Вывод будет включать сведения о времени, которое потребовалось для выполнения кода, и любую другую информацию, связанную с производительностью.
💭 Некоторые заключительные мысли
В 2023 году не ограничивайтесь только console.log
— в объекте консоли JavaScript доступно много более мощных и ценных инструментов и методов.
С console.table
по console.time
эти методы и хитрости помогут вам улучшить качество и удобочитаемость вывода отладки, а также упростят диагностику и исправление ошибок в вашем коде.
Так почему бы не улучшить свои навыки отладки в 2023 году и не попробовать эти техники? Ваш код (и ваше здравомыслие) скажут вам спасибо.
О, и…
🌎 Подключаемся!
Дополнительные материалы на PlainEnglish.io.
Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord .
Заинтересованы в масштабировании запуска вашего программного обеспечения? Ознакомьтесь с разделом Схема.