JavaScript (JS)는 가벼운 인터프리터형 언어로, 일급 함수를 지원합니다. 주로 웹 페이지를 위한 스크립팅 언어로 알려졌지만, node.js나 Apache CouchDB처럼 많은 비브라우저 환경에서도 사용됩니다. JavaScript는 프로토타입 기반의 다중 패러다임 스크립팅 언어로서, 역동적이고, 객체지향형, 명령형 및 선언형(가령 함수형 프로그래밍) 스타일을 지원합니다. 자세한 내용은 JavaScript에 대하여를 참고하세요.
이 문서는 JavaScript 언어 자체만 다루며 웹 페이지를 비롯한 다른 사용 환경에 대해서는 다루지 않습니다. 웹 페이지의 특정 APIs에 대하여 알고 싶다면 웹 API와 DOM을 참고하시기 바랍니다.
JavaScript의 표준은 ECMAScript입니다. 2012년 현재, 최신 브라우저는 모두 ECMAScript 5.1을 전부 지원합니다. 예전 브라우저의 경우는 최소한 ECMAScript 3까지는 지원합니다. 2015년 6월 17일 ECMA International에서는 공식명 ECMAScript 2015 로 불리는 ECMAScript의 6번째 주 버전을 발표했습니다(보통 ECMAScript 6 혹은 ES6으로 불립니다). 그 이후 ECMAScript 표준은 출시가 1년 주기입니다. 이 문서는 최신 초안 버전(현재 ECMAScript 2017)을 언급합니다.
JavaScript를 Java 프로그래밍 언어와 혼동해서는 안 됩니다. "Java"와 "JavaScript" 두 가지 모두 Oracle이 미국 및 기타 국가에 등록한 상표입니다. 하지만, 두 언어는 문법 체계와 사용방법이 전혀 다릅니다.
자습서
안내서 및 자습서와 JavaScript로 프로그램 짜는 법 알아보기.
입문
- JavaScript 안내서
- JavaScript에 익숙하지 않다면, 이 안내서는 언어를 차례차례 안내합니다.
- JavaScript 기술 개요
- 웹 브라우저 JavaScript 상황 소개.
- 객체 지향 JavaScript 입문
- JavaScript로 객체 지향 프로그래밍 개념 소개.
중급
- JavaScript 재입문
- JavaScript에 대해 안다고 생각하는 이들을 위한 개요.
- JavaScript 데이터 구조
- JavaScript에서 이용가능한 데이터 구조 개요.
- 같음 비교 및 동일성
- JavaScript는 세 가지 다른 값 비교 연산을 제공합니다:
===
를 사용한 엄격한(strict) 같음,==
를 사용한 느슨한(loose) 같음 및Object.is()
메서드.
고급
- 상속 및 프로토타입 체인
- 널리 오해 받고 과소 평가된 프로토타입(원형) 기반 상속의 설명.
- 엄격 모드
- 엄격 모드는 초기화 전에 어떤 변수도 사용할 수 없음을 정의합니다. 이는 빠른 성능 및 쉬운 디버깅을 위한 ECMAScript 5의 제한된 변형(variant)입니다.
- JavaScript 형식화된 배열
- JavaScript 형식화된 배열은 원시(raw) 이진 데이터에 접근하기 위한 메커니즘을 제공합니다.
- 메모리 관리
- JavaScript에서 메모리 라이프 사이클 및 가비지 컬렉션.
- 동시성 모델 및 이벤트 루프
- JavaScript "이벤트 루프"에 기반을 둔 동시성 모델이 있습니다.
참고서
전체 JavaScript 참고 문서 훑어보기.
- 표준 객체
Array
,Boolean
,Date
,Error
,Function
,JSON
,Math
,Number
,Object
,RegExp
,String
,Map
,Set
,WeakMap
,WeakSet
등 표준 내장(built-in) 객체 알아가기.- 식 및 연산자
- JavaScript 연산자
instanceof
,typeof
,new
,this
의 행동, 연산자 우선순위 등에 대해 더 알아보기. - 문 및 선언
do-while
,for-in
,for-of
,try-catch
,let
,var
,const
,if-else
,switch
등의 JavaScript 문 및 키워드 작동 법 배우기.- 함수
- 어플리케이션 개발에 JavaScript 함수로 작업하는 법 배우기.
도구 & 자원
JavaScript 코드 작성 및 디버깅을 돕는 도구.
- Firefox 개발자 도구
- Scratchpad, Web Console, JavaScript Profiler, Debugger 등.
- Firebug
- 어느 웹 페이지에서든 CSS, HTML 및 JavaScript 실시간 편집, 디버그 및 관찰.
- JavaScript 쉘
- 빠르게 JavaScript 코드 조각(snippet)을 테스트할 수 있는 JavaScript 쉘.
- TogetherJS
- 간편한 협업(Collaboration).
- Stack Overflow
- "JavaScript" 태그 달린 Stack Overflow 질문.
- JavaScript 버전 및 출시 노트
- JavaScript 기능 역사 및 구현 상태 훑어보기.
- JSFiddle
- JavaScript, CSS, HTML 편집 및 실시간 결과 얻기. 외부 자원(resource) 써서 온라인으로 팀과 협업하기.
Join the JavaScript community
- IRC: #js (learn more)
- ES discuss: esdiscuss.org
- SpiderMonkey: Project page
- Twitter: @FirefoxNightly