JavaScript 디버깅의 기초를 다졌다면, 이제 브라우저 개발자 도구(DevTools)를 활용한 실제 디버깅 방법을 알아보자. DevTools는 단순히 콘솔 로그를 보는 것을 넘어 코드 흐름 분석, DOM 탐색, 성능 최적화까지 유용한 기능을 제공하기 때문에 사용법을 숙지하는 것이 좋다.
Source 탭은 디버깅의 핵심이다. 중단점(Breakpoint) 설정, 코드 흐름 분석, 변수 상태 확인 등을 수행할 수 있다.
중단점은 특정 코드 실행을 중지시키고 그 시점의 상태를 점검하는 데 사용된다.
설정 방법:
F12
또는 Ctrl + Shift + I
→ Source 탭 선택 예제:
function calculateTotal(price, tax) {
let total = price + tax; // 여기에 중단점 설정
console.log("Total:", total);
return total;
}
calculateTotal(100, 20);
중단점 도달 시 확인할 수 있는 정보:
특정 조건이 만족될 때만 멈추도록 설정하는 중단점이다.
설정 방법:
Add condition
→ 조건 입력item.quantity > 10
예제:
function processItem(item) {
if (item.quantity > 10) {
console.log("Large order:", item);
}
// 여기에 조건부 중단점 설정 (item.quantity > 10)
return item.price * item.quantity;
}
processItem({ price: 20, quantity: 5 }); // 멈추지 않음
processItem({ price: 20, quantity: 15 }); // 중단점 작동
특정 변수나 표현식을 추적하는 기능이다.
설정 방법:
price * tax
, total > 100
등의 표현식을 추가활용 상황:
Elements 탭에서 선택한 DOM 요소를 $0
으로 콘솔에서 즉시 접근할 수 있다.
예제:
$0.style.color = "red"; // 선택한 요소의 텍스트 색상 변경
객체나 배열 데이터를 표 형태로 출력한다.
예제:
const users = [
{ name: "Alice", age: 25 },
{ name: "Bob", age: 30 },
{ name: "Charlie", age: 35 }
];
console.table(users);
debug(fn)
을 호출하면 해당 함수가 실행될 때마다 자동으로 중단점에 도달한다.
예제:
function greet(name) {
console.log("Hello, " + name);
}
debug(greet); // greet 함수 호출 시 중단점 활성화
greet("Alice");
일부 브라우저 또는 환경에서는 제한이 있을 수 있으며, 콘솔에서만 사용 가능하다.
Network 탭은 API 요청 상태, 실패 원인, 응답 속도 등을 분석할 때 유용하다.
예제:
fetch("/api/data")
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));
요청 실패 시 응답 코드(예: 404, 500), 오류 메시지를 확인.
성능 저하가 발생했을 때 원인을 분석할 수 있다.
분석 포인트:
개선 팁:
transform
, opacity
) 사용Lighthouse는 웹 성능, 접근성, SEO를 평가하고 개선안을 제공한다.
항목 예시:
작성하다 보니 심화보다는 기초적인 활용법 위주로 정리된 글이 되어버렸다.
하지만 LLM의 발전 덕분에 얕고 넓게 개념을 익혀두면, 이후에는 필요한 내용을 즉시 도움받아 확장할 수 있다.
따라서 브라우저 DevTools의 기본적인 활용법만 숙지해두는 것도 효율적인 접근 방식이라 생각한다.
브라우저 DevTools는 단순한 콘솔 로그 출력을 넘어, 디버깅, 성능 분석, DOM 탐색 등 다양한 기능을 제공한다.
Source, Console, Network, Performance, Lighthouse 탭을 상황에 맞게 적절히 활용하면, 디버깅은 물론 성능 최적화와 사용자 경험 개선에도 큰 도움이 된다.