Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как посмотреть содержимое переменной при отладке

Короткий ответ

Оберните переменные в фигурные скобки — тогда консоль покажет их имена вместе со значениями:

const user = 'Anna';
const total = 42;
 
console.log({ user, total });

Результат:

{
  "user": "Anna",
  "total": 42
}

Вложенные объекты

JSON.stringify() с отступом показывает весь объект, включая глубокие уровни:

const order = { id: 7, customer: { name: 'Anna', address: { city: 'Rome' } } };
 
console.log(JSON.stringify(order, null, 2));

Результат:

{
  "id": 7,
  "customer": {
    "name": "Anna",
    "address": {
      "city": "Rome"
    }
  }
}

Таблица

В консоли браузера и в Node.js console.table() показывает массив объектов в виде таблицы:

console.table([
  { name: 'Anna', age: 30 },
  { name: 'Oleg', age: 25 },
]);

Точка останова

Оператор debugger останавливает код, когда открыты инструменты разработчика браузера. Там можно посмотреть все переменные:

function calculateTotal(items) {
  debugger;
  return items.reduce((sum, item) => sum + item.price, 0);
}

Частая ошибка

Консоль браузера показывает объект таким, каким он стал к моменту раскрытия, а не к моменту вывода. Если объект потом изменится, вы увидите новые значения. Выводите копию, чтобы увидеть старое состояние:

const cart = { items: 1 };
console.log(JSON.parse(JSON.stringify(cart)));
cart.items = 5;

Результат:

{
  "items": 1
}

Функции из этого ответа

  • console.log — Выводит значения в консоль.
  • JSON.stringify — Преобразует значение в строку в формате JSON.
  • console.table — Показывает массив объектов в консоли браузера в виде таблицы.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.