JavaScript 소개
JavaScript 소개
🎯 이 lesson 을 읽고 나면
이 lesson 을 다 읽고 나면 아래 3가지를 자신 있게 할 수 있습니다.
- ▸✅ var · let · const 차이 + hoisting 동작
- ▸✅ 타입 7가지 + typeof 의 함정 (typeof null === 'object')
- ▸✅ 스크립트 로딩 (defer · async · module) 차이
학습 목표를 체크리스트로 두고 다 답할 수 있게 되면 lesson 을 닫으세요.
JavaScript 가 뭐냐 — *웹의 두뇌*
핵심 한 줄
JavaScript = 웹 페이지를 동적으로 만드는 프로그래밍 언어. 1995 년 10일 만에 Brendan Eich 가 만들었습니다. 지금은 세상에서 가장 많이 쓰이는 언어 중 하나.
왜 이름이 JavaScript 인가
이름과 달리 Java 와 거의 무관 합니다. 1995 년 Java 가 핫 할 때 마케팅 차원에서 비슷한 이름을 붙였습니다. 실제론 Java 보다 Lisp·Scheme 에 가까운 함수형 언어죠.
> 💡 Java 와 JavaScript = "햄과 햄스터" 만큼 무관.
JavaScript 의 3가지 얼굴
처음엔 브라우저 안 에서만 돌아갔습니다. 이제는:
1. 브라우저 — 클릭·입력·애니메이션 등 동적 동작
2. 서버 (Node.js, 2009~) — Java·Python 처럼 백엔드 가능
3. 모바일·데스크탑 — React Native·Electron 으로 앱 개발
같은 언어로 프론트·백·모바일 다 가능. 이게 JS 의 압도적 강점.
변수 — let · const · var
규칙: 항상 const 먼저. 변경이 필요하면 let. var 는 2015 이전 코드에만.
기본 자료형
함수도 값 입니다 — 변수에 담고 인자로 전달:
가장 헷갈리는 — == vs ===
== 는 타입을 알아서 맞춰 비교 — 예상치 못한 결과 자주. === 는 타입까지 일치해야. 항상 === 권장.
비동기 — JS 의 진짜 강점
JS 는 단일 스레드 인데도 빠릅니다. 비밀은 이벤트 루프 + 비동기:
setTimeout 이 대기열 에 들어가고, 현재 코드가 끝나야 실행. 그 사이 다른 일을 블록 없이 처리합니다.
async/await 로 비동기 코드를 동기처럼:
await 으로 기다리는 동안 JS 는 다른 일을 합니다. 동시 요청 1만개도 거뜬.
한 번 정리
- ▸동적 타입: 변수에 아무 값이나
- ▸비동기 중심: async/await 표준
- ▸함수가 일등 시민: 변수처럼 다룸
- ▸== 대신 === — 항상
JS 는 조롱받던 언어에서 세상을 지배하는 언어로 진화했습니다. 모르면 현대 웹 개발 불가.
⚡ 직접 해보기 — JS 변수와 함수
🤖 AI 에게 이렇게 요청해보세요
이 lesson 의 개념을 알면 AI 에게 구체적으로 지시할 수 있습니다. 막연한 "고쳐줘" 가 아니라 어휘를 가진 요청 — 그게 토큰 절약의 출발점입니다.
- ▸"이 JavaScript 코드에 JavaScript 소개 개념을 적용해 리팩토링해줘"
- ▸"JavaScript 소개 가 면접에서 자주 묻는 포인트 3가지 알려줘"
- ▸"이 코드의 JavaScript 소개 관련 안티패턴 검사해줘"
왜 이게 토큰을 줄이나
개념을 모를 땐 AI 답변을 받고도 "그게 뭐예요?" 를 다시 물어야 합니다. 그 "다시 물음" 이 토큰을 잡아먹습니다. 개념 한 번 익혀두면 대화가 한 번에 끝납니다.