728x90
    
    
  🌳 DOM Tree (Document Object Model)
DOM은 웹 문서를 트리(Tree) 형태로 표현한 구조야. **HTML 문서 안의 모든 요소(태그, 텍스트, 속성)**를 객체처럼 다룰 수 있게 해주지.
DOM Tree 예시 다이어그램
HTML 예시
<!DOCTYPE html>
<html>
  <head>
    <title>My Page</title>
  </head>
  <body>
    <h1>Hello</h1>
    <p>Welcome!</p>
  </body>
</html>
나무 모양 다이어그램:

DOM 이해 비유
- document → 전체 나무
 - html → 큰 가지
 - head, body → html 아래 두 갈래 큰 가지
 - 태그들 → 잎사귀
 - 텍스트 → 잎사귀에 적힌 글자
 
🌐 BOM (Browser Object Model)
DOM은 “문서”를 다루고, BOM은 브라우저 자체를 다루는 개념이야.
- BOM은 DOM보다 더 “바깥쪽”에 있음
 - 웹 페이지가 아닌, 브라우저 환경 자체를 다루는 객체들이 BOM에 포함됨
 - 대표적인 BOM 객체:
- window
 - navigator
 - screen
 - history
 - location
 
 
✅ 주요 BOM 객체 설명
1. window
- 최상위 객체 (DOM, BOM 둘 다 포함)
 - 비유: 브라우저 창 전체
 - 예시:
 
window.alert("Hello!");
console.log(window.innerWidth);
2. document
- DOM의 진입점
 - HTML 문서를 표현
 - 예시:
 
document.getElementById("title");
3. navigator
- 브라우저 정보
 - 예시:
 
console.log(navigator.userAgent);
console.log(navigator.language);
4. screen
- 사용자 화면 해상도 정보
 - 예시:
 
console.log(screen.width);
console.log(screen.height);
5. location
- 현재 URL 정보 + 이동 기능
 - 예시:
 
console.log(location.href);
location.href = "https://www.google.com";
6. history
- 사용자가 방문한 페이지 이력
 - 예시:
 
history.back();
history.forward();
✅ DOM vs BOM
구분DOMBOM
 
| 역할 | 문서(HTML)를 객체로 표현 | 브라우저 환경 자체를 다룸 | 
| 최상위 객체 | document | window | 
| 예시 | document.getElementById | window.alert, location.href | 
✅ 비유로 정리
- DOM → 웹페이지의 설계도
 - BOM → 브라우저라는 집 전체의 컨트롤러
 - window → 집 전체
 - document → 집 안의 설계도
 - navigator → 집의 신분증
 - screen → 집의 창문 크기
 - location → 집 주소
 - history → 집 방문 내역
 
728x90
    
    
  '개발자 성장 로드맵 > 프론트엔드' 카테고리의 다른 글
| NPM 기초 완전 정리 (2) | 2025.07.11 | 
|---|---|
| 자바스크립트 모듈 시스템 완전 정리 (2) | 2025.07.11 | 
| Front-End 개발 필수: 이벤트 버블링·캡처링, JS 모듈, 배열 메서드 총정리 (1) | 2025.07.11 | 
| Front-End 필수 개념: script 로드 전략과 this 이해하기 (2) | 2025.07.10 | 
| 프론트엔드 개발자 입문 로드맵 (2) | 2025.06.21 |