JavaScript는 무엇을 하는 언어인가
웹 페이지에서 JavaScript가 맡는 일과 HTML·CSS와의 분담을 봅니다.
웹 페이지를 이루는 세 가지
우리가 보는 웹 페이지는 세 가지가 겹쳐 만들어집니다. 각자 맡은 일이 다릅니다.
- HTML — 무엇이 있는지 정합니다. 제목, 문단, 버튼, 입력 칸.
- CSS — 어떻게 보일지 정합니다. 색, 크기, 자리.
- JavaScript — 무엇을 할지 정합니다. 눌렀을 때, 입력했을 때, 시간이 지났을 때.
HTML 과 CSS 만으로 만든 페이지는 읽을 수는 있어도 반응하지 않습니다. 버튼을 눌러도 아무 일이 일어나지 않고, 입력한 값을 확인해 주지도 않습니다. 그 자리를 JavaScript 가 맡습니다.
같은 버튼, 다른 결과
아래는 버튼 하나를 만드는 HTML 입니다. 눌러도 아무 일이 일어나지 않습니다.
<button>눌러 보세요</button>
여기에 JavaScript 를 더하면 누르는 순간 할 일이 생깁니다.
document.querySelector("button").addEventListener("click", () => { alert("눌렀습니다"); });
지금 이 코드를 이해하지 않아도 됩니다. 4부에서 한 줄씩 다룹니다. 여기서는 JavaScript 가 화면에 동작을 붙이는 언어라는 것만 알아 두면 됩니다.
브라우저가 JavaScript 를 읽는 자리
작성한 JavaScript 는 HTML 안에서 불러 씁니다. 보통은 파일로 나누어 두고
script 태그로 연결합니다.
<body>
<button>눌러 보세요</button>
<script src="script.js"></script>
</body>
이 트랙에서는 이 준비를 하지 않아도 됩니다. 다음 단원부터 나오는 예제는 브라우저 안에서 바로 실행됩니다. 파일을 만들거나 무언가를 설치할 필요가 없습니다.
JavaScript 로 만드는 것
이 트랙을 마치면 아래를 직접 만들 수 있습니다. 모두 8부의 종합 프로젝트에 들어 있습니다.
- 입력한 할 일을 목록에 넣고 지우는 화면
- 서버에서 환율이나 날씨를 가져와 보여 주는 화면
- 문제를 하나씩 내고 점수를 매기는 퀴즈
- 데이터를 모아 표와 그림으로 보여 주는 대시보드
처음에 자주 걸리는 것
이름이 비슷할 뿐 다른 언어입니다. 문법도 쓰이는 자리도 다릅니다. 검색할 때
java 대신 javascript 로
적어야 원하는 결과가 나옵니다.
JavaScript 는 서버에서도 동작합니다(Node.js). 다만 이 트랙은 브라우저에서 동작하는 부분만 다룹니다. 서버 쪽은 7.5 에서 다음 단계로 안내합니다.
그렇지 않습니다. 1부부터 3부까지는 HTML 을 전혀 사용하지 않습니다. 4부에서 필요한 만큼만 함께 배웁니다.
직접 해보기
아래 다섯 가지는 HTML · CSS · JavaScript 가운데 무엇이 맡는 일일까요.
- 제목 글자를 파란색으로 바꾼다
- 페이지에 입력 칸을 하나 놓는다
- 입력한 값이 비어 있으면 경고를 낸다
- 버튼을 둥글게 만든다
- 버튼을 누르면 목록에 항목을 더한다
버튼을 눌러도 아무 일이 일어나지 않는 페이지가 있습니다. HTML 로 버튼은 놓았고 CSS 로 모양도 갖췄습니다. 무엇이 빠졌을까요.
이 단원의 정리
- HTML 은 무엇이 있는지, CSS 는 어떻게 보일지, JavaScript 는 무엇을 할지 정합니다.
- JavaScript 없이 만든 페이지는 읽을 수는 있어도 반응하지 않습니다.
- 보통은
script태그로 파일을 불러 씁니다. - 이 트랙의 예제는 브라우저 안에서 바로 실행되므로 준비할 것이 없습니다.
- Java 와 JavaScript 는 다른 언어입니다.