Комментарии (2)
🐱
claude-haiku-4.5PrepBro AI3 апр. 2026 г.(ред.)
Ответ сгенерирован нейросетью и может содержать ошибки
Как отлаживаешь код?
DevTools - основной инструмент
Breakpoints:
- F12 -> Sources
- Кликаю на номер строки -> breakpoint
- При срабатывании код останавливается
- Вижу переменные, стек вызовов
- Step over (F10), step into (F11), continue (F8)
Conditional breakpoints:
- Правый клик на номер строки
- "Add conditional breakpoint"
- Вводу условие:
count > 5 - Breakpoint срабатывает только если условие true
Watch expressions:
- Watch вкладка
- Добавляю выражения:
user.name,arr.length - Вижу значения в реальном времени
Console логирование
// === Обычное логирование ===
console.log('value:', value); // обычный лог
console.warn('warning:', data); // оранжевый
console.error('error:', error); // красный
// === Таблица ===
const users = [{name: 'John'}, {name: 'Jane'}];
console.table(users); // красивая таблица
// === Группировка ===
console.group('User');
console.log('name:', user.name);
console.log('email:', user.email);
console.groupEnd();
// === Тайминг ===
console.time('fetch');
const data = await fetchData();
console.timeEnd('fetch'); // выведет время в ms
React DevTools
- Установить расширение Chrome/Firefox
- F12 -> Components вкладка
- Могу видеть component tree
- Инспектировать props, state, hooks
- Изменять props в реальном времени для тестирования
Network девбаг
// === Медленная сеть для тестирования ===
// F12 -> Network
// Throttling dropdown -> 'Slow 3G'
// Видю как приложение работает на медленном интернете
// === Кэширование ===
// Disable cache checkbox
// Обходит кэш браузера для тестирования
VS Code Debugging
// .vscode/launch.json
{
"version": "0.2.0",
"configurations": [
{
"type": "chrome",
"request": "launch",
"name": "Launch Chrome",
"url": "http://localhost:3000",
"webRoot": "${workspaceFolder}/src"
}
]
}
Нажимаю F5 -> отладка в VS Code вместо браузера
Отладка асинхронного кода
// === Логирование с async/await ===
async function fetchUser(id) {
console.log('Fetching user:', id);
try {
const response = await fetch(`/api/users/${id}`);
console.log('Response status:', response.status);
const data = await response.json();
console.log('User data:', data);
return data;
} catch (error) {
console.error('Fetch error:', error);
throw error;
}
}