Встречается на собеседованиях • сегодня
Как асинхронность влияет на несовпадение результата в консоли и вызванного кода
Асинхронность может приводить к расхождению между выводом в консоли и фактическим состоянием объекта на момент вызова. Это происходит из-за особенностей работы консоли браузера, которая может "лениво" вычислять значения объектов.
Пример:
javascript
const obj = { a: 1 };
console.log(obj); // В консоли может показать {a: 1, b: 2}
obj.b = 2;В этом случае консоль сначала сохраняет ссылку на объект, а отображает его содержимое только при раскрытии. Решение - логировать копию объекта или примитивы:
javascript
console.log({...obj}); // или JSON.parse(JSON.stringify(obj))Для примитивов такой проблемы нет:
javascript
let num = 1;
console.log(num); // 1
num = 2; // консоль покажет 1
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы