We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

JavaScript (JS)는 가벼운 인터프리터형 또는 JIT-컴파일형 프로그래밍 언어로, first-class functions를 지원합니다. 주로 웹 페이지를 위한 스크립팅 언어로 알려졌지만, Node.jsApache CouchDB, Adobe Acrobat처럼 많은 비브라우저 환경에서도 사용됩니다. JavaScript는 prototype-based의 다중 패러다임 스크립팅 언어로서, 역동적이고, 객체지향형, 명령형 및 선언형(가령 함수형 프로그래밍) 스타일을 지원합니다. 자세한 내용은 JavaScript에 대하여를 참고하세요.

이 문서는 JavaScript 언어 자체만 다루며 웹 페이지를 비롯한 다른 사용 환경에 대해서는 다루지 않습니다. 웹 페이지의 특정 APIs에 대하여 알고 싶다면 웹 APIDOM을 참고하시기 바랍니다.

JavaScript의 표준은 ECMAScript입니다. 2012년 현재, 최신 브라우저는 모두 ECMAScript 5.1을 전부 지원합니다. 이전 브라우저의 경우는 최소한 ECMAScript 3까지는 지원합니다. 2015년 6월 17일 ECMA International에서는 공식명 ECMAScript 2015 로 불리는 ECMAScript의 6번째 주 버전을 발표했습니다(보통 ECMAScript 6 혹은 ES6으로 불립니다). 그 이후 ECMAScript 표준은 출시가 1년 주기입니다. 이 문서는 최신 초안 버전(현재 ECMAScript 2018)을 언급합니다.

JavaScript를 Java 프로그래밍 언어와 혼동해서는 안 됩니다. "Java"와 "JavaScript" 두 가지 모두 Oracle이 미국 및 기타 국가에 등록한 상표입니다. 하지만, 두 언어는 문법 체계와 사용방법이 전혀 다릅니다.

자습서

안내서 및 자습서와 JavaScript로 프로그램 짜는 법 알아보기.

입문

JavaScript 안내서
JavaScript에 익숙하지 않다면, 이 안내서는 언어를 차례차례 안내합니다.
JavaScript 기술 개요
웹 브라우저 JavaScript 상황 소개.
객체 지향 JavaScript 입문
JavaScript로 객체 지향 프로그래밍 개념 소개.

JavaScript 가이드

JavaScript Guide

JavaScript 또는 다른 언어에 대한 경험이있는 사용자를 대상으로 한 JavaScript 가이드입니다.

중급

클라이언트 사이드 웹 API
웹사이트나 어플리케이션을 위한 클라이언트 사이드 자바스크립트를 작성할때 API를 사용하게 될 것입니다. 브라우저를 다양한 방면으로 조작하는 인터페이스와, 사이트가 돌아가는 운영체제, 혹은 다른 웹 사이트나 서비스에서 받는 데이터들까지,  API를 사용하지 않고 개발하기는 힘듭니다.
이 모듈에서는 API가 무엇인지, 그리고 개발하면서 만나게될 가장 보편적인 API의 사용방법에 대해 알아 볼 것입니다. 
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)을 사용하며 온라인으로 팀과 협업하기.
Plunker
Plunker는 온라인에서 여러분의 웹 개발 아이디어를 실제로 만들거나 다른사람과 공유 협업하는 커뮤니티 입니다. 실시간으로 JavaScrip, CSS, HTML을 만들고 편집 할 수 있습니다.

Join the JavaScript community

Choose your preferred method for joining the discussion:

문서 태그 및 공헌자

최종 변경: Olivia_J,