자바스크립트란 무엇인가


웹 페이지를 열고 메뉴를 여는 버튼을 클릭하거나, 검색창에 타이핑하면서 결과가 바로바로 제안되는 걸 보거나, 스크롤할 때 피드에 게시물이 계속 로드되는 걸 지켜본다고 해봅시다. 이 중 어느 것도 HTML이 하는 일이 아니고, CSS가 하는 일도 아닙니다. 바로 자바스크립트가 하는 일입니다. 자바스크립트는 브라우저 안에서 실행되면서 여러분의 행동에 페이지가 반응하도록 만드는 언어입니다. 이 챕터에서는 이 언어가 무엇인지, 어디에서 실행되는지, 그리고 이미 알고 있는 HTML과 CSS와 어떻게 맞물리는지 다룹니다.
페이지가 동작하게 만드는 언어
자바스크립트는 **프로그래밍 언어**입니다. 컴퓨터가 한 단계씩 실행할 명령을 작성하는 방법이라고 할 수 있습니다. HTML이 페이지에 무엇이 있는지를 설명하고 CSS가 그것이 어떻게 보이는지를 설명한다면, 자바스크립트는 무슨 일이 일어나는지를 설명합니다. 반응하는 부분이 바로 자바스크립트입니다.
웹 페이지를 집이라고 생각해봅시다. HTML은 벽과 방으로 이루어진 구조입니다. CSS는 페인트와 가구입니다. 자바스크립트는 전기와 배관, 즉 스위치를 누르면 불이 켜지고 수도꼭지를 틀면 물이 나오게 만드는 배선입니다. 사람이 페이지와 상호작용할 때 무언가가 일어나게 만드는 것이 바로 자바스크립트입니다.
// HTML은 버튼을 만들어줄 뿐입니다. 자바스크립트가 그 버튼을 동작하게 만듭니다.
const button = document.querySelector(".menu-toggle");
button.addEventListener("click", openMenu);이 코드의 각 부분은 뒤에서 하나씩 다시 만나게 됩니다. 지금은 전체적인 모양만 눈에 익혀두세요. 자바스크립트는 페이지 안으로 들어가고(document.querySelector), 사용자가 하는 행동에 반응합니다(addEventListener). 페이지 안으로 들어가는 것과 반응하는 것, 이 둘이 브라우저 자바스크립트가 하는 일의 대부분입니다.
자바스크립트는 어디에서 실행되는가
자바스크립트는 브라우저 안에서 실행됩니다. Chrome, Safari, Firefox 등 모든 브라우저에는 여러분의 자바스크립트를 읽고 실행하는 내장 **엔진**이 들어 있습니다. 즉 시작하는 데 따로 설치할 것이 없습니다. 웹 페이지를 열 수 있다면, 자바스크립트도 실행할 수 있습니다.
<script> 태그로 페이지에 자바스크립트를 추가하는데, 보통은 </body> 닫는 태그 바로 앞에 둡니다. 코드를 별도의 파일로 관리하고 싶다면, 이미지 태그가 이미지 파일을 가리키는 것과 같은 방식으로 src 속성에 파일명을 지정해 그 파일을 가리키게 하면 됩니다.
한 줄의 코드를 가장 빨리 시험해볼 수 있는 곳은 브라우저 콘솔입니다. 개발자 도구 안에 있는 패널로, 여기에 자바스크립트를 입력하면 결과를 바로 볼 수 있습니다.
<script> 태그로 페이지에 추가하며, 한 줄을 가장 빨리 시험해볼 곳은 브라우저 개발자 도구의 콘솔입니다. 열어서 아무거나 입력해보세요, 무엇을 망가뜨릴 일은 없습니다. 자바스크립트를 처음 들여다보기
아주 작은 프로그램을 하나 살펴봅시다. 아직 모든 부분을 이해할 필요는 없습니다. 다음 챕터들에서 하나씩 다룰 테니까요. 하지만 벌써 그 전체적인 모양은 읽어낼 수 있습니다:
let name = "민준";
console.log("안녕, " + name); // 안녕, 민준첫 번째 줄은 텍스트 "민준"을 name이라는 이름에 저장합니다. 두 번째 줄은 "안녕, "과 저장된 이름을 이어붙여 콘솔에 메시지를 출력합니다. console.log는 배우는 동안 자바스크립트에게 값을 보여달라고 요청하는 방법이며, 앞으로 계속 사용하게 될 것입니다.
console.log는 값을 출력해서 눈으로 볼 수 있게 해주며, 배우는 동안 가장 든든한 친구가 되어줄 것입니다. 세부 사항은 아직 걱정하지 마세요, 다음 챕터들에서 각 부분을 제대로 만나게 됩니다. "모던 자바스크립트"가 뜻하는 것
사람들이 **모던 자바스크립트**라는 말을 쓰는 것을 듣게 될 것입니다. 자바스크립트는 1995년부터 존재해왔고 매년 새로운 기능이 추가되지만, 예전 코드도 계속 동작하도록 유지됩니다. 그래서 같은 일을 하는 방법이 시대에 따라 여러 가지로 늘어났습니다.
좋은 소식은, 그 역사를 다 알 필요는 없다는 것입니다. 이 핸드북은 각각의 경우에 지금 가장 권장되는 방식을 가르칩니다. 오래된 튜토리얼에서 var로 변수를 만드는 것을 본다면, 그것은 옛날 방식입니다. 대신 오늘날 개발자들이 사용하는 let과 const를 배우게 될 것입니다.
var를 쓴다면 그것은 옛날 방식이고, 여러분은 대신 let과 const를 배우게 됩니다. 자바스크립트는 여기서 어디로 나아가는가
자바스크립트는 큰 언어지만 작게 시작합니다. 값들, 그것들에 붙이는 이름, 그리고 그것들을 조합하고 그것들로 무언가를 하는 방법입니다. 이것들이 이해되면, 이 핸드북의 나머지는 그 위로 확장됩니다. 결정을 내리고 작업을 반복하기, 코드를 함수로 조직하기, 배열과 객체에 값들의 모음을 담기, 그리고 마침내 DOM을 통해 페이지 자체에 손을 뻗어 사람들이 실제로 쓸 수 있는 것을 만들기까지 이어집니다.
다음 챕터인 변수에서 진짜 작업이 시작됩니다. 값을 저장하는 방법, let과 const의 차이, 그리고 언어의 나머지 전체가 그 위에 세워지는 소수의 규칙들을 다룹니다.

