aboutsummaryrefslogtreecommitdiff
path: root/files/ko/web/javascript/index.html
blob: 923d422500d5ab4e641590193c4f76dbb064773a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
---
title: JavaScript
slug: Web/JavaScript
tags:
  - JavaScript
  - Landing
  - Learn
  - 'l10n:priority'
  - 자바스크립트
translation_of: Web/JavaScript
---
<div>{{JsSidebar}}</div>

<p class="summary"><span class="seoSummary"><strong>JavaScript</strong>(JS)는 가벼운 인터프리터 또는 <a href="https://ko.wikipedia.org/wiki/JIT_%EC%BB%B4%ED%8C%8C%EC%9D%BC">JIT 컴파일</a> 프로그래밍 언어로, {{Glossary("First-class Function", "일급 함수")}}를 지원합니다. 웹 페이지의 스크립트 언어로서 제일 유명하지만 {{Glossary("Node.js")}}, <a href="https://couchdb.apache.org/">Apache CouchDB</a>, <a href="http://www.adobe.com/devnet/acrobat/javascript.html">Adobe Acrobat</a>처럼 <a class="external" href="https://en.wikipedia.org/wiki/JavaScript#Uses_outside_Web_pages">많은 비 브라우저 환경</a>에서도 사용하고 있습니다.</span> JavaScript는 {{Glossary("Prototype-based programming", "프로토타입 기반")}}의 동적 다중 패러다임 스크립트 언어로, 객체지향형, 명령형, 선언형(함수형 프로그래밍 등) 스타일을 지원합니다. 자세한 내용은 <a href="/ko/docs/Web/JavaScript/About">JavaScript에 대하여</a>를 참고하세요.</p>

<p>이 문서는 JavaScript 언어 자체만 다루며 웹 페이지를 비롯한 다른 사용 환경에 대해서는 다루지 않습니다. 웹 페이지의 특정 {{Glossary("API")}}에 대하여 알고 싶다면 <a href="/ko/docs/Web/API">웹 API</a><a href="/ko/docs/Glossary/DOM">DOM</a>을 참고하시기 바랍니다.</p>

<p>JavaScript의 표준은 <a href="/ko/docs/Web/JavaScript/언어_리소스">ECMAScript</a>입니다. 2012년 기준 <a href="http://kangax.github.io/compat-table/es5/">최신 브라우저</a>는 모두 ECMAScript 5.1을 온전히 지원합니다. 이전 브라우저의 경우는 최소한 ECMAScript 3까지는 지원합니다. 2015년 6월 17일 <a href="http://www.ecma-international.org">ECMA International</a>에서는 공식명 ECMAScript 2015 로 불리는 ECMAScript의 6번째 주 버전을 발표했습니다(보통 ECMAScript 6 혹은 ES6으로 불립니다). 그 이후 ECMAScript 표준의 출시 주기는 1년입니다. 이 문서는 최신 초안(현재 <a class="external" href="https://tc39.github.io/ecma262/">ECMAScript 2020</a>)에 기반을 둡니다.</p>

<p>JavaScript를 <a href="https://ko.wikipedia.org/wiki/%EC%9E%90%EB%B0%94_(%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D_%EC%96%B8%EC%96%B4)">Java 프로그래밍 언어</a>와 혼동해서는 안 됩니다. "Java"와 "JavaScript" 두 가지 모두 Oracle이 미국 및 기타 국가에 등록한 상표입니다. 하지만, 두 언어는 문법 체계와 사용 방법이 전혀 다릅니다.</p>

<div class="column-container">
<div class="column-half">
<h2 id="자습서">자습서</h2>

<p>안내서 및 자습서와 함께 JavaScript 프로그램을 짜는 법을 알아보세요.</p>

<h3 id="입문">입문</h3>

<p>JavaScript를 배우고 싶지만 JavaScript 또는 프로그래밍에 대한 이전 경험이 없는 경우 <a href="/ko/docs/Learn/JavaScript">Web 개발 학습하기의 JavaScript 주제</a>를 방문하세요. 사용할 수 있는 전체 모듈은 다음과 같습니다.</p>

<dl>
 <dt><a href="/ko/docs/Learn/JavaScript/First_steps">JavaScript 첫 걸음</a></dt>
 <dd>"JavaScript는 무엇인가요?", "어떤 모습인가요?", "뭘 할 수 있나요?"와 같은 기본적인 질문에 대답하면서 변수, 문자열, 숫자, 배열과 같은 JavaScript의 주요 기능에 대해서도 알아봅니다.</dd>
 <dt><a href="/ko/docs/Learn/JavaScript/Building_blocks">JavaScript 구성 요소</a></dt>
 <dd>JavaScript의 핵심 기본 기능에 대한 이해를 넓히기 위해 조건문, 반복문, 함수, 이벤트와 같이 흔히 찾을 수 코드 블록의 형태에 대해서 알아봅니다.</dd>
 <dt><a href="/ko/docs/Learn/JavaScript/Objects">JavaScript 객체 소개</a></dt>
 <dd>JavaScript에 대한 지식을 쌓고, 보다 효율적인 코드를 작성하기 위해서는 JavaScript의 객체지향적인 모습을 이해해야 합니다.</dd>
 <dt><a href="/ko/docs/Learn/JavaScript/Asynchronous">비동기 JavaScript</a></dt>
 <dd>비동기 JavaScript가 중요한 이유와, 비동기적 코드를 사용해 서버에서 리소스 가져오기 등 블록킹 연산을 효율적으로 처리하는 방법을 알아봅니다.</dd>
 <dt><a href="/ko/docs/Learn/JavaScript/Client-side_web_APIs">클라이언트측 웹 API</a></dt>
 <dd>API란 무엇인지 탐색해보고, 제일 흔히 사용해서 개발 중 자주 마주치게 될 일부 API의 사용법을 배웁니다.</dd>
 <dt>
 <h3 id="JavaScript_안내서">JavaScript 안내서</h3>
 </dt>
 <dt><a href="/ko/docs/Web/JavaScript/Guide">JavaScript 안내서</a></dt>
 <dd>
 <p>JavaScript 또는 다른 언어의 경험을 가진 독자를 대상으로 한 JavaScript 상세 안내서입니다.</p>
 </dd>
</dl>

<h3 id="중급">중급</h3>

<dl>
 <dt><a href="/ko/docs/A_re-introduction_to_JavaScript" title="A re-introduction to JavaScript">JavaScript 재입문</a></dt>
 <dd>JavaScript에 대해 안다고 <em>생각하는</em> 이들을 위한 개요.</dd>
 <dt><a href="/ko/docs/Web/JavaScript/Data_structures" title="JavaScript data structures">JavaScript 데이터 구조</a></dt>
 <dd>JavaScript에서 이용 가능한 데이터 구조 개요.</dd>
 <dt><a href="/ko/docs/Web/JavaScript/Equality_comparisons_and_sameness" title="Equality comparisons and sameness">같음 비교 및 동일성</a></dt>
 <dd>JavaScript는 세 가지 다른 값 비교 연산을 제공합니다: <code>===</code>를 사용한 엄격한(strict) 같음, <code>==</code>를 사용한 느슨한(loose) 같음 및 {{jsxref("Global_Objects/Object/is", "Object.is()")}} 메서드.</dd>
 <dt><a href="/ko/docs/Web/JavaScript/Guide/Closures">클로저</a></dt>
 <dd>클로저는 함수와 그 함수가 선언 된 어휘 환경의 조합입니다.</dd>
</dl>

<h3 id="고급">고급</h3>

<dl>
 <dt><a href="/ko/docs/Web/JavaScript/Guide/Inheritance_and_the_prototype_chain" title="Inheritance and the prototype chain">상속 및 프로토타입 체인</a></dt>
 <dd>널리 오해 받고 과소 평가된 프로토타입(원형) 기반 상속의 설명.</dd>
 <dt><a href="/ko/docs/Web/JavaScript/Reference/Strict_mode" title="Strict mode">엄격 모드</a></dt>
 <dd>엄격 모드는 초기화 전에 어떤 변수도 사용할 수 없음을 정의합니다. 이는 빠른 성능 및 쉬운 디버깅을 위한 ECMAScript 5의 제한된 변형(variant)입니다.</dd>
 <dt><a href="/ko/docs/Web/JavaScript/Typed_arrays" title="JavaScript typed arrays">JavaScript 형식화된 배열</a></dt>
 <dd>JavaScript 형식화된 배열은 원시(raw) 이진 데이터에 접근하기 위한 메커니즘을 제공합니다.</dd>
 <dt><a href="/ko/docs/Web/JavaScript/Memory_Management">메모리 관리</a></dt>
 <dd>JavaScript에서 메모리 라이프 사이클 및 가비지 컬렉션.</dd>
 <dt><a href="/ko/docs/Web/JavaScript/EventLoop" title="Concurrency model and Event Loop">동시성 모델 및 이벤트 루프</a></dt>
 <dd>JavaScript "이벤트 루프"에 기반을 둔 동시성 모델이 있습니다.</dd>
</dl>
</div>

<div class="column-half">
<h2 id="참고서">참고서</h2>

<p>전체 <a href="/ko/docs/Web/JavaScript/Reference" title="JavaScript reference">JavaScript 참고서</a>를 훑어보세요.</p>

<dl>
 <dt><a href="/ko/docs/Web/JavaScript/Reference/Global_Objects" title="Standard objects">표준 객체</a></dt>
 <dd>{{jsxref("Array")}}, {{jsxref("Boolean")}}, {{jsxref("Date")}}, {{jsxref("Error")}}, {{jsxref("Function")}}, {{jsxref("JSON")}}, {{jsxref("Math")}}, {{jsxref("Number")}}, {{jsxref("Object")}}, {{jsxref("RegExp")}}, {{jsxref("String")}}, {{jsxref("Map")}}, {{jsxref("Set")}}, {{jsxref("WeakMap")}}, {{jsxref("WeakSet")}} 등 표준 내장 객체 알아가기.</dd>
 <dt><a href="/ko/docs/Web/JavaScript/Reference/Operators" title="Expressions and operators">표현식 및 연산자</a></dt>
 <dd>JavaScript 연산자 {{jsxref("Operators/instanceof", "instanceof")}}, {{jsxref("Operators/typeof", "typeof")}}, {{jsxref("Operators/new", "new")}}, {{jsxref("Operators/this", "this")}}의 행동, <a href="/ko/docs/Web/JavaScript/Reference/Operators/연산자_우선순위" title="operator precedence">연산자 우선순위</a> 등에 대해 더 알아보기.</dd>
 <dt><a href="/ko/docs/Web/JavaScript/Reference/Statements" title="Statements and declarations">명령문 및 선언문</a></dt>
 <dd>{{jsxref("Statements/do...while", "do-while")}}, {{jsxref("Statements/for...in", "for-in")}}, {{jsxref("Statements/for...of", "for-of")}}, {{jsxref("Statements/try...catch", "try-catch")}}, {{jsxref("Statements/let", "let")}}, {{jsxref("Statements/var", "var")}}, {{jsxref("Statements/const", "const")}}, {{jsxref("Statements/if...else", "if-else")}}, {{jsxref("Statements/switch", "switch")}} 등의 JavaScript 명령문 및 키워드 작동 법 배우기.</dd>
 <dt><a href="/ko/docs/Web/JavaScript/Reference/Functions" title="Functions">함수</a></dt>
 <dd>어플리케이션 개발에 JavaScript 함수로 작업하는 법 배우기.</dd>
</dl>

<h2 id="도구_자원">도구 &amp; 자원</h2>

<p><strong>JavaScript</strong> 코드 작성과 디버깅을 돕는 유용한 도구 모음입니다.</p>

<dl>
 <dt><a href="/ko/docs/도구들" title="Firefox Developer Tools">Firefox 개발자 도구</a></dt>
 <dd><a href="/ko/docs/도구들/Web_Console">Web Console</a>, <a href="/ko/docs/도구들/Performance">JavaScript Profiler</a>, <a href="/ko/docs/도구들/Debugger">Debugger</a> 등.</dd>
 <dt><a href="/ko/docs/Web/JavaScript/Shells">JavaScript 쉘</a></dt>
 <dd>빠르게 JavaScript 코드 조각(snippet)을 테스트할 수 있는 JavaScript 쉘.</dd>
 <dt><a href="https://togetherjs.com/">TogetherJS</a></dt>
 <dd>간편한 협업.</dd>
 <dt><a href="http://stackoverflow.com/questions/tagged/javascript">Stack Overflow</a></dt>
 <dd>"JavaScript" 태그가 달린 Stack Overflow 질문.</dd>
 <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript" title="JavaScript versions and release notes">JavaScript 버전 및 출시 노트</a></dt>
 <dd>JavaScript 기능 역사 및 구현 상태 훑어보기.</dd>
 <dt><a href="https://jsfiddle.net/">JSFiddle</a></dt>
 <dd>JavaScript, CSS, HTML 편집 및 실시간 결과 얻기. 외부 자원(resource)을 사용하며 온라인으로 팀과 협업하기.</dd>
 <dt><a href="https://plnkr.co/">Plunker</a></dt>
 <dd>Plunker는 온라인에서 여러분의 웹 개발 아이디어를 실제로 만들거나 다른사람과 공유 협업하는 커뮤니티 입니다. 실시간으로 JavaScrip, CSS, HTML을 만들고 편집 할 수 있습니다.</dd>
</dl>
</div>
</div>