자바스크립트 기초 #1 시작과 셋업
이 시리즈는 자바스크립트를 처음 배우는 분, 또는 옛날에 배웠지만 다시 정리하고 싶은 분을 위한 7편짜리 입문 강좌입니다.
- #1 시작과 셋업 ← 이번 글
- #2 변수와 타입
- #3 제어 흐름
- #4 함수
- #5 객체와 배열
- #6 문자열과 템플릿 리터럴
- #7 모듈 — import와 export
이번 글은 자바스크립트가 어디서 어떻게 동작하는지부터 정리하고, Node와 Vite로 모던 개발 환경을 만들어 첫 코드를 실행하는 단계까지 갑니다.
자바스크립트는 어디서 동작하나요? #
처음 배우는 분이 가장 헷갈리는 부분이 여기입니다. 자바스크립트는 한 곳이 아니라 두 곳에서 동작합니다.
- 브라우저 — 웹 페이지에 인터랙션을 주는 환경. 크롬/사파리/파이어폭스 같은 브라우저가 자바스크립트 엔진을 내장하고 있습니다.
- Node.js — 자바스크립트를 브라우저 밖에서, 서버나 도구 만드는 데 쓸 수 있게 해주는 런타임. 2009년에 등장하면서 자바스크립트의 활용 범위가 크게 넓어졌습니다.
같은 자바스크립트라도 환경에 따라 쓸 수 있는 게 다릅니다.
document.querySelector('h1'); // DOM 접근
window.location.href; // URL
fetch('/api/users'); // 네트워크 요청
const fs = require('fs'); // 파일 시스템 접근
fs.readFileSync('data.txt'); // 파일 읽기
process.env.HOME; // 환경 변수
언어 자체(변수, 함수, 반복, 객체)는 양쪽이 똑같습니다. 그 위에 환경별 API가 더 얹히는 구조입니다. 이 시리즈는 두 환경 모두에서 동작하는 언어 핵심에 집중합니다.
Node 설치하기 #
자바스크립트를 가장 빠르게 손에 익히는 방법은 Node를 설치하는 것입니다. 브라우저는 매번 HTML을 거쳐야 해서 처음 배울 때 마찰이 큽니다.
macOS / Linux #
Volta 를 추천합니다. 한 번 깔면 Node 버전을 자동으로 관리해 줍니다.
curl https://get.volta.sh | bash
volta install node@lts직접 다운로드도 가능합니다. nodejs.org 에서 LTS 버전을 받으세요.
Windows #
Node 공식 사이트에서 Windows Installer를 받아 설치. 그 외에는 winget install OpenJS.NodeJS.LTS도 가능합니다.
설치 확인 #
node --version # v22.x.x 같은 출력
npm --version # 10.x.x 같은 출력node와 npm 두 명령이 모두 응답하면 준비 끝.
REPL — 한 줄씩 실행해 보기 #
Node를 설치했으면 터미널에 node만 입력해 보세요. 자바스크립트를 한 줄씩 실행할 수 있는 REPL(Read-Eval-Print-Loop)이 뜹니다.
> 1 + 1
2
> const greeting = '안녕'
undefined
> greeting + ', 자바스크립트!'
'안녕, 자바스크립트!'
> .exit학습 초기에는 이 REPL이 가장 가벼운 실험실입니다. 새로운 문법을 봤을 때 여기서 한 번 쳐 보면 빠르게 감이 잡혀요. 종료는 .exit 또는 Ctrl+D.
첫 파일 만들고 실행하기 #
REPL은 한 줄씩 칠 때만 좋고, 여러 줄을 다루기엔 답답합니다. 작업 폴더를 하나 만들고 파일로 작성해 봅시다.
mkdir js-playground
cd js-playgroundhello.js 파일을 만들어 다음을 적습니다.
const name = '커티스';
console.log(`안녕하세요, ${name}님!`);
const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((acc, n) => acc + n, 0);
console.log(`합계: ${sum}`);실행:
node hello.js안녕하세요, 커티스님!
합계: 15이게 자바스크립트로 작은 도구나 스크립트를 만들 때의 기본 흐름입니다. 파일 작성 → node 파일명 실행.
브라우저에서 실행해 보기 #
웹 개발을 하려면 결국 브라우저에서도 돌릴 수 있어야 합니다. 가장 가벼운 방법은 HTML 파일을 만들어 <script> 태그로 끼우는 겁니다.
<html lang="ko">
<head><title>JS 첫걸음</title></head>
<body>
<h1 id="message"></h1>
<script>
const el = document.getElementById('message');
el.textContent = '브라우저에서 안녕!';
</script>
</body>
</html>이 파일을 더블클릭으로 열거나 VS Code의 Live Server 확장으로 실행하면 됩니다.
다만 매번 HTML 파일을 손으로 다루는 건 번거로워요. 그래서 모던 환경에는 Vite 같은 개발 서버 도구를 씁니다.
모던 개발 환경 — Vite #
Vite는 자바스크립트 프로젝트의 개발 서버, 빌드, 모듈 시스템을 한꺼번에 처리해 주는 도구입니다. 리액트 시리즈와 타입스크립트 시리즈에서 이미 등장했습니다. 바닐라 자바스크립트 프로젝트도 Vite로 시작할 수 있습니다.
npm create vite@latest my-vanilla -- --template vanilla
cd my-vanilla
npm install
npm run devhttp://localhost:5173을 브라우저로 열면 기본 페이지가 떠 있을 겁니다. src/main.js가 진입점입니다. 이걸 수정하고 저장하면 브라우저가 즉시 갱신됩니다(HMR — Hot Module Replacement).
이 시리즈에서는 단순한 예제는 node로, DOM이 필요한 예제는 Vite로 돌리겠습니다.
코드 편집기 #
VS Code 가 가장 흔한 선택입니다. 처음에는 다른 확장 없이도 충분합니다. 익숙해지면 다음 두 개 정도가 도움이 됩니다.
- Prettier — 저장 시 자동 포맷팅
- ESLint — 코드 스타일/문법 경고
이 시리즈에서는 둘 다 강요하지 않습니다. 익숙해질 때까지는 도구를 최소화하는 게 학습에 더 좋습니다.
자바스크립트의 두 얼굴 — 표준은 ECMAScript #
옛날 자료를 보면 “ES5”, “ES2015”, “ES6” 같은 용어가 자주 등장합니다. 자바스크립트의 공식 사양 이름이 ECMAScript 라서 그래요. 1년에 한 번씩 새 버전이 나옵니다.
- ES2015 (= ES6) —
let/const, 화살표 함수, 클래스, 모듈 등 큰 변경. 현대 자바스크립트의 기준선. - ES2017 — async/await
- ES2020 — 옵셔널 체이닝 (
?.), nullish 병합 (??) - ES2022 — 클래스 private 필드 (
#), top-level await - ES2024 — 매년 업데이트 중
이 시리즈는 모두 ES2015 이후의 모던 자바스크립트 기준으로 진행합니다. var 같은 옛 문법은 거의 다루지 않습니다.
마무리 #
이번 글에서 정리한 내용:
- 자바스크립트는 브라우저와 Node 두 곳에서 동작
- Node 설치 (Volta 추천) → REPL 또는
node 파일명으로 실행 - 브라우저는
<script>또는 Vite 개발 서버로 돌리기 - 편집기는 VS Code가 무난, 처음에는 확장 최소화
- 시리즈는 모던 자바스크립트(ES2015+) 기준
다음 글(#2 변수와 타입)에서는 변수 선언(let/const)과 자바스크립트의 기본 타입들, 그리고 타입 변환에서 자주 겪는 함정을 정리합니다.