Frontory

코드 편집 · 실습 · 필기 열기 →

HTML · 23 스크립트 로딩과 문서 파싱

시리즈 목차 · 전체 기술 지도

단계: 접근성 검토와 카드 통합 · 외부 실행 예제 · 미리보기 안내 · 저장 ID: html-step-23

목표와 학습 후 역량

선수 지식

22단위 「template과 반복 콘텐츠」의 결과물과 실험 기록

핵심 개념과 설명

로딩 시점

일반 스크립트는 위치에 따라 파싱을 막을 수 있습니다. defer는 문서 파싱 후 순서대로 실행하도록 합니다.

독립 실행

async는 준비되는 시점에 실행해 문서 순서를 보장하지 않습니다. 모듈 스크립트의 기본 지연 동작도 구분합니다.

실습 준비

예제 화면의 실행 범위 안내를 먼저 확인하세요. 다음은 과제를 별도 프로젝트로 확장할 때의 준비 환경입니다. 별도 로컬 프로젝트에서 직접 구현하고 브라우저 개발자 도구로 확인하세요. 별도 폴더에 HTML과 필요한 이미지·미디어 파일을 직접 준비하고 로컬 HTTP 서버로 여세요. Elements·접근성 패널과 실제 키보드 조작으로 확인합니다.

연결된 예제는 출발점입니다. 아래 과제 전체가 완성된 코드는 아니며, 예제의 지원 범위를 넘는 작업은 별도 프로젝트에서 수행하세요.

실습 과제

  1. scripts.html 파일에 head의 스크립트와 body 아래 대상 요소 조건을 준비하세요.
  2. DOM을 읽는 스크립트 두 개를 일반·defer·async 방식으로 비교하세요.
  3. head의 스크립트와 body 아래 대상 요소 조건으로 실행하세요. 확인할 결과: 세 로딩 방식의 실행 로그와 요소 존재 여부를 기록한다. 의존하는 스크립트가 안정적으로 순서대로 실행되는 구성을 고른다. 예상과 실제 결과는 구분해 기록하세요.

관찰할 변수

변수기준 조건바꿀 조건예상할 변화·검증 가설
속성deferasync실행 전 가설: DOM 준비나 스크립트 순서를 가정한 코드가 달라질 수 있다. 다른 조건은 고정하고 실행 후 실제 결과를 따로 기록합니다.

표의 예상은 측정 결과가 아닙니다. 한 번에 한 조건만 바꾸고 실제 결과가 다르면 원인을 기록하세요.

완료 조건

자가 점검

  1. async가 항상 더 빠른 페이지를 만드나요?
  2. type=module과 defer의 관계는 무엇인가요?

공식 참고

연결된 예제와 실행 범위

예제 원본 · 실행 환경과 제한

외부 HTTP 실행 예제: first.js/second.js를 실제 로드하고 일반/defer/async의 파싱·실행 순서를 기록합니다.

원본 코드·기록은 자동으로 덮어쓰지 않습니다. 기존 예제를 초기화할 때도 필기는 유지됩니다.

다음 학습

이전: template과 반복 콘텐츠 · 다음: 접근성 이름과 설명

실험 기록 — 직접 작성

목표

핵심 개념

바꾼 변수와 예상

실제 결과

배운 점

남은 질문

코드 편집 · 실습 · 필기 열기 →