JavaScript 역사와 개념

1995년 넷스케이프에서 탄생한 JavaScript의 여정

1995 탄생 브라우저 전쟁 ECMAScript 표준화 DOM / BOM 모던 JavaScript
CHAPTER 01
JavaScript의 탄생 (1995년)
브렌던 아이크(Brendan Eich)가 넷스케이프와 썬 마이크로시스템즈와 함께 개발한 JavaScript. 웹 브라우저에서 동적인 기능을 제공하기 위해 탄생했어요.
1995년, 무슨 일이 일어났을까?
TIMELINE
🎯 JavaScript 1.0 출시 브렌던 아이크가 10일만에 만들어낸 언어. 초기에는 "Mocha", 후에 "LiveScript"라고 불렸어요.
🌐 당시 브라우저 시장 넷스케이프 네비게이터가 시장을 주도. 마이크로소프트는 IE로 추격 중.
✅ 초기 용도 폼 검증, 간단한 인터랙션 정도만 가능. 지금처럼 복잡한 앱 개발에는 사용 안 함.
핵심 인물
BIOGRAPHY
이름 역할 소속
브렌던 아이크 JavaScript 창시자 넷스케이프
네비게이터팀 브라우저 개발 넷스케이프
마이크로소프트 IE로 대응 Microsoft
💡 재미있는 사실: JavaScript는 Java와 무관해요. 마케팅상 Java의 인기를 타기 위해 "Java"라는 이름을 붙였을 뿐이에요!

CHAPTER 02
브라우저 전쟁과 표준화 (1996~1998)
각 브라우저마다 JavaScript를 다르게 구현하면서 개발자들이 혼란에 빠졌어요. 표준화가 절실했던 시대입니다.
문제: 비표준 구현
DOM 접근 방식 비교
넷스케이프 방식
document.layers['element']
IE 방식
document.all['element']
⚠️ 문제: 결과는 같지만 코드는 완전히 달라요. 개발자들은 각 브라우저마다 다른 코드를 짜야 했어요.
해결책: ECMAScript 표준화
표준화 과정
1998년 — W3C 주도 주요 브라우저 회사들이 협력하여 표준 수립
DOM Level 1 표준 발표 모든 브라우저가 따를 수 있는 공통 인터페이스 정의
✅ 결과: 호환성 개선 표준을 따르면 여러 브라우저에서 같은 코드가 동작
최종 승자: 마이크로소프트 IE
IE의 압도적 점유율
Windows 번들 전략
Windows 설치 시 IE가 기본으로 포함 → 자동으로 점유율 증가
한국의 상황
2000년대 초: IE 점유율 거의 90%
개발자 불만
IE 비표준 때문에 IE에만 맞춘 사이트 개발 강요 😞
오픈소스의 반발: Firefox 탄생
넷스케이프의 부활
  • 1998년 — 넷스케이프 개발 중단
  • 2004년 — Firefox 1.0 출시 (오픈소스 기반)
  • 의의 — 웹 표준 준수, 개발자 도구 강화
현재: 다양한 브라우저 공존
주요 브라우저들
Chrome
Google (2008~)
Safari
Apple (2003~)
Firefox
Mozilla (2004~)
Edge
Microsoft (2015~)
⚠️ IE의 유산: 2000년대 초 테이블 레이아웃, 독자적 DOM 구현 때문에 많은 개발자들이 고생했어요. 이것이 CSS와 웹 표준의 중요성을 깨닫게 한 계기였어요.

CHAPTER 03
DOM과 BOM
JavaScript가 웹페이지와 브라우저와 상호작용하는 방식을 정의하는 두 가지 객체 모델이에요.
DOM (Document Object Model)
정의
HTML 문서를 프로그래밍적으로 접근하고 수정할 수 있게 해주는 인터페이스
DOM으로 할 수 있는 작업
  • HTML 요소 추가/삭제
  • 속성 수정
  • CSS 스타일 변경
  • 이벤트 처리
  • 텍스트 내용 수정
BOM (Browser Object Model)
정의
웹 브라우저 자체와 관련된 객체 모델. 브라우저의 기능에 접근해요.
BOM으로 할 수 있는 작업
  • 브라우저 창 크기 조절
  • 브라우저 기록(history) 접근
  • 현재 URL 확인
  • 쿠키/로컬스토리지 접근
  • 스크린 정보 확인
DOM vs BOM
비교
DOM
대상
HTML 문서의 요소

역할
페이지 콘텐츠 조작

예시
getElementById()
BOM
대상
브라우저 자체

역할
브라우저 기능 제어

예시
window.open()
💡 우리가 배울 부분: 이 강의에서는 주로 DOM

CHAPTER 04
모던 JavaScript의 활용
JavaScript는 더 이상 브라우저 전용 언어가 아니에요. 다양한 환경에서 사용되고 있어요.
학습 장점
왜 JavaScript를 배워야 할까?
📚 배우기 쉬움
문법이 비교적 단순하고 진입장벽이 낮아요
⚡ 즉각적 피드백
브라우저 콘솔에서 바로 실행하고 결과를 확인할 수 있어요
📖 풍부한 자료
웹 개발 분야에서 가장 많은 학습 자료와 커뮤니티가 있어요
JavaScript의 진화
시간으로 보는 JavaScript
시기 특징 사용처
1995년 탄생 브라우저 폼 검증
2000~2010 웹 2.0 시대 AJAX, 동적 웹페이지
2015 (ES6) 대혁신 화살표 함수, 클래스, 모듈
현재 풀스택 언어 프론트+백엔드+데스크톱+모바일
JavaScript의 활용 범위
현재 JavaScript가 사용되는 곳
🌐 Web Browser
인터랙티브 웹사이트
🔧 Server (Node.js)
백엔드 서버 개발
🖥️ Desktop (Electron)
데스크톱 앱 개발
📱 Mobile (React Native)
모바일 앱 개발
JavaScript의 구성
JavaScript = ECMAScript + Web API
ECMAScript (핵심 언어)
변수, 함수, 조건문, 반복문 등 언어 자체의 스펙
Web API (브라우저 기능)
DOM, BOM, Fetch, LocalStorage 등 브라우저가 제공하는 기능
현재 표준: ES6+ (2015년 이후)
현대 JavaScript의 특징
  • const/let — 안전한 변수 선언
  • 화살표 함수 — 간결한 함수 표현
  • 클래스 — 객체지향 프로그래밍
  • 모듈 — import/export로 코드 관리
  • 비동기 처리 — async/await로 더 쉬운 처리
💡 모던 JavaScript의 핵심: 문법이 많이 개선되었어요. 이 강의에서는 현대적 문법(const/let, 화살표 함수 등)을 기준으로 배웁니다!