본문 바로가기
컴퓨터/자바스크립트

[JavaScript] HTML과 JavaScript의 관계 쉽게 이해해보기

by Rachel Jeong 2025. 4. 6.

 

HTML과 JavaScript의 관계, 쉽게 이해해보기

우리가 보는 웹페이지의 진짜 구성 이야기

웹 개발을 막 시작한 분들이라면 한 번쯤 이런 생각이 드셨을 거예요:

“웹페이지 소스를 보면 왜 HTML이랑 JavaScript가 섞여 있지?”
“HTML이 언어라는데 JavaScript는 또 뭐야?”
“같은 코드 안에 두 언어가 들어가는 게 맞는 걸까?”

 

오늘은 이런 궁금증을 정리해보고,HTML과 JavaScript가 어떻게 함께 작동하는지쉽고 명확하게 알아보겠습니다.

 

프론트엔드 개발을 처음 시작하면 가장 먼저 마주하게 되는 코드가 바로 아래와 같은 HTML과 JavaScript 조합입니다. 이 글에서는 HTML과 Javascript가 어떻게 상호작용을 하는 지 코드를 통해서 이해해보도록 하겠습니다! 

처음 보면 복잡해 보일 수 있지만, 사실은 웹페이지에 "안녕하세요."라는 글자를 출력하는 아주 간단한 구조입니다. 이제 이 코드를 한 줄씩 뜯어보며 어떤 역할을 하는지 알아보겠습니다. 먼저 "안녕하세요" 라는 말을 출력을 하기 전에 앞에 body부터 시작해서 코드들이 많아서 헷갈리는 경우가 많았습니다. 코딩할 때 코드들은 필요없는데 있는 경우는 없고 나름대로의 의미를 가지고 있었습니다. 함께 어떤 의미인지 하나씩 보겠습니다. 

<body> ... </body>란? (이건 HTML 코드! )

HTML 문서에서 <body> 태그는 화면에 실제로 표시되는 모든 요소가 들어가는 영역을 표시해주는 신호에요. - 이 부분은 html 코드에요.

  • 웹페이지의 텍스트, 이미지, 버튼, 입력창 등은 모두 이 <body> 태그 안에 포함됩니다.
  • 여기에서는 <p> 태그와 <script> 태그가 포함되어 있네요.

 <p id="show"></p>의 역할은? (이것도 HTML 코드! )

이 줄은 다음과 같은 의미를 가집니다.

  • <p>: 문단(paragraph)을 나타내는 HTML 태그로, 기본적으로 텍스트를 보여주는 용도입니다.
  • id="show": 이 태그에 "show"라는 이름표(아이디)를 붙여줍니다.
  • 이 id는 JavaScript에서 이 태그를 지정해서 조작하기 위한 주소와 같은 역할을 합니다. 지금은 비어 있지만, JavaScript를 통해 이 안에 글자를 넣을 수 있습니다.

<script> ... </script>는 무엇인가요? - 여기서부터 자바스크립트가 시작됩니다! 

<script> 태그 안에는 JavaScript 코드가 들어갑니다.
브라우저는 이 안의 코드를 읽고 실행합니다.

자, 그 안의 코드를 하나하나 살펴볼까요?

let str1 = "안녕하세요.";

이 코드는 다음을 의미합니다:

  • let: 변수를 선언할 때 사용합니다. "상자 하나 만들게!"라는 뜻이에요.
  • str1: 변수 이름입니다. 마음대로 지을 수 있지만 의미 있게 짓는 것이 좋습니다.
  • "안녕하세요.": 변수에 담긴 실제 문자열(텍스트)입니다.
  • =: 변수에 값을 넣어주는 역할을 합니다.  즉, "안녕하세요."라는 문장을 str1이라는 변수에 담아두는 것이죠.

document.getElementById("show").innerText = str1;

이 줄은 조금 길지만, 동작은 단순합니다.

부분설명
document 현재 웹페이지(HTML 문서) 전체를 가리킵니다
.getElementById("show") HTML 문서에서 id="show"인 요소를 찾아옵니다
.innerText 해당 요소 안에 들어갈 텍스트를 의미합니다
= str1 앞에서 만든 "안녕하세요." 값을 넣어줍니다

결국 이 코드는 이렇게 해석됩니다: “웹페이지 안에 id="show"인 태그를 찾아서, 그 안에 "안녕하세요."라는 글자를 넣어줘!”

코드 전체 흐름을 간단히 정리해 볼게요:

  1. "안녕하세요."라는 문자열을 변수 str1에 저장
  2. <p id="show"></p> 태그를 JavaScript로 찾아냄
  3. 그 안에 str1의 값을 삽입해서 텍스트로 표시

 

 HTML, CSS, JavaScript는 모두 다른 언어

웹페이지는 단 하나의 언어로만 만들어지지 않아요.
보통 3개의 언어가 서로의 역할을 나눠서 함께 작동합니다. 

언어역할
HTML 웹페이지의 구조(뼈대)를 만듭니다.
CSS 구조에 스타일(색, 크기, 배치 등)을 입힙니다.
JavaScript 웹페이지에 동작과 기능을 추가합니다.

이렇게 나눠서 생각하면 헷갈리지 않아요.

 HTML은 중심, JavaScript는 보조

웹 브라우저(크롬, 사파리 등)는 HTML을 중심으로 웹페이지를 해석합니다.
그래서 HTML 파일 안에 JavaScript를 "끼워 넣는 방식"으로 두 언어를 함께 사용하게 돼요.

 

즉,

HTML은 웹의 ,
JavaScript는 웹의 행동(두뇌) 같은 역할을 해요.

이 코드엔 세 가지가 섞여 있어요:

  • <p>와 <button>은 HTML (웹 구조)
  • onclick="sayHello()"는 HTML에서 JavaScript를 호출하는 부분
  • <script> 안의 sayHello() 함수는 JavaScript (동작)

버튼을 누르면 문장이 바뀌는 건 JavaScript의 역할이에요.

 

 HTML 안에 JavaScript가 섞여 있는 이유는?

  • HTML은 브라우저가 인식하는 기본 구조입니다.
  • 그래서 웹페이지는 항상 HTML을 중심으로 시작합니다.
  • 그 안에서 동작이 필요할 때, <script> 태그로 JavaScript를 끼워 넣습니다.


즉, HTML이 웹페이지라는 이라면,
JavaScript는 그 안에서 움직이는 사람이나 전자기기 같은 존재죠.
그래서 자바스크립트는 동적언어! HTML은 정적인 언어라고 표현하기도 하는거에요. 

 

 

마무리 요약

  • HTML과 JavaScript는 별개의 언어지만, 웹 개발에선 함께 쓰입니다.
  • 대부분의 웹페이지는 HTML 구조 안에 JavaScript 코드가 함께 포함되어 있습니다.
  • HTML은 구조, JavaScript는 기능을 담당합니다.
  • 초반에는 HTML 안에 JavaScript를 섞어서 배우는 것이 자연스럽습니다.