Skip to content

Commit 85e74ce

Browse files
author
Orta Therox
authored
Merge pull request #53 from jihoon-seo/210312-Add-files-from-old-Korean-repo
Add files from old Korean repo to ko
2 parents f9d9ef2 + 582a345 commit 85e74ce

28 files changed

+6987
-0
lines changed
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
---
2+
title: Nightly Builds
3+
layout: docs
4+
permalink: /ko/docs/handbook/nightly-builds.html
5+
oneline: How to use a nightly build of TypeScript
6+
translatable: true
7+
---
8+
9+
[TypeScript의 `master`](https://github.com/Microsoft/TypeScript/tree/master) 브랜치의 nightly 빌드는 태평양 표준시(PST) 자정까지 NPM에 배포됩니다.
10+
도구를 사용하여 가져오는 방법과 사용하는 방법은 다음과 같습니다.
11+
12+
## npm 사용하기 (Using npm)
13+
14+
```shell
15+
npm install -g typescript@next
16+
```
17+
18+
## nightly 빌드를 사용하도록 IDE 업데이트 (Updating your IDE to use the nightly builds)
19+
20+
nightly drop을 사용하도록 IDE를 업데이트할 수 있습니다.
21+
먼저 npm을 통해 패키지를 설치해야 합니다.
22+
npm 패키지를 전역으로 설치하거나 로컬에 있는 `node_modules` 폴더에 설치할 수 있습니다.
23+
24+
이 섹션의 나머지 부분에서는 `typescript@next`가 이미 설치되어 있다고 가정합니다.
25+
26+
### 비주얼 스튜디오 코드 (Visual Studio Code)
27+
28+
`.vscode/settings.json` 파일을 다음과 같이 업데이트하세요:
29+
30+
```json
31+
"typescript.tsdk": "<path to your folder>/node_modules/typescript/lib"
32+
```
33+
34+
자세한 내용은 [VSCode 문서](https://code.visualstudio.com/Docs/languages/typescript#_using-newer-typescript-versions)를 참조하세요.
35+
36+
### 서브라임 텍스트 (Sublime Text)
37+
38+
`Settings - User` 파일을 다음과 같이 업데이트하세요:
39+
40+
```json
41+
"typescript_tsdk": "<path to your folder>/node_modules/typescript/lib"
42+
```
43+
44+
자세한 내용은 [서브라임 텍스트를 위한 TypeScript 플러그인 설치 문서](https://github.com/Microsoft/TypeScript-Sublime-Plugin#installation)를 참조하세요.
45+
46+
### 비주얼 스튜디오 2013 및 2015 (Visual Studio 2013 and 2015)
47+
48+
> 주의사항: 대부분의 변경 사항에는 새로운 버전의 VS TypeScript 플러그인을 설치할 필요는 없습니다.
49+
50+
현재 nightly 빌드에는 전체 플러그인 설정이 포함되어 있지 않지만 nightly 기반으로 설치 프로그램을 배포하기 위해 노력하고 있습니다.
51+
52+
1. [VSDevMode.ps1](https://github.com/Microsoft/TypeScript/blob/master/scripts/VSDevMode.ps1) 스크립트를 다운로드하세요.
53+
54+
> 또한 [커스텀 언어 서비스 파일 사용](https://github.com/Microsoft/TypeScript/wiki/Dev-Mode-in-Visual-Studio#using-a-custom-language-service-file)에 대한 위키 페이지를 참조하세요.
55+
56+
2. PowerShell 커맨드 라인 창에서 다음을 실행합니다:
57+
58+
VS 2015:
59+
60+
```posh
61+
VSDevMode.ps1 14 -tsScript <path to your folder>/node_modules/typescript/lib
62+
```
63+
64+
VS 2013:
65+
66+
```posh
67+
VSDevMode.ps1 12 -tsScript <path to your folder>/node_modules/typescript/lib
68+
```
69+
70+
### IntelliJ IDEA (Mac)
71+
72+
`Preferences` > `Languages & Frameworks` > `TypeScript`를 선택합니다:
73+
74+
> TypeScript 버전: npm으로 설치한 경우: `/usr/local/lib/node_modules/typescript/lib`
75+
76+
### IntelliJ IDEA (Windows)
77+
78+
`File` > `Settings` > `Languages & Frameworks` > `TypeScript`를 선택합니다:
79+
80+
> TypeScript 버전: npm으로 설치한 경우: `C:\Users\USERNAME\AppData\Roaming\npm\node_modules\typescript\lib`
Lines changed: 263 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,263 @@
1+
---
2+
title: Declaration Reference
3+
layout: docs
4+
permalink: /ko/docs/handbook/declaration-files/by-example.html
5+
oneline: "How to create a d.ts file for a module"
6+
---
7+
8+
# 소개 (Introduction)
9+
10+
이 가이드는 양질의 선언 파일을 작성하는 방법을 설명하기 위해 작성되었습니다.
11+
이 가이드는 일부 API 문서를 해당 API 사용 예시와 함께 보여주고,
12+
상응하는 선언을 작성하는 방법을 설명합니다.
13+
14+
예제는 대체로 후반부로 갈수록 복잡해집니다.
15+
16+
* [프로퍼티를 갖는 객체 (Objects with Properties)](#프로퍼티를-갖는-객체-objects-with-properties)
17+
* [오버로드된 함수 (Overloaded Function)](#오버로드된-함수-overloaded-functions)
18+
* [재사용 가능한 타입 (인터페이스) (Reusable Types (Interfaces))](#재사용-가능한-타입-인터페이스-reusable-types-interfaces)
19+
* [재사용 가능한 타입 (타입 별칭) (Reusable Types (Type Aliases))](#재사용-가능한-타입-타입-별칭-reusable-types-type-aliases)
20+
* [타입 구조화하기 (Organizing Types)](#타입-구조화하기-organizing-types)
21+
* [클래스 (Classes)](#클래스-classes)
22+
* [전역 변수 (Global Variables)](#전역-변수-global-variables)
23+
* [전역 함수 (Global Functions)](#전역-함수-global-functions)
24+
25+
# 예제 (The Examples)
26+
27+
## 프로퍼티를 갖는 객체 (Objects with Properties)
28+
29+
_문서_
30+
31+
> 전역 변수 `myLib`에는 인사말을 만드는 함수 `makeGreeting`와,
32+
> 지금까지 생성한 인사말의 수를 가리키는 `numberOfGreetings` 프로퍼티가 있습니다.
33+
34+
_코드_
35+
36+
```ts
37+
let result = myLib.makeGreeting("hello, world");
38+
console.log("The computed greeting is:" + result);
39+
40+
let count = myLib.numberOfGreetings;
41+
```
42+
43+
_선언_
44+
45+
점 표기법으로 접근하는 타입이나 값을 설명하기 위해 `declare namespace`를 사용하세요.
46+
47+
```ts
48+
declare namespace myLib {
49+
function makeGreeting(s: string): string;
50+
let numberOfGreetings: number;
51+
}
52+
```
53+
54+
## 오버로드된 함수 (Overloaded Functions)
55+
56+
_문서_
57+
58+
`getWidget` 함수는 숫자를 인자로 받아 Widget을 반환하거나, 문자열을 인자로 받아 Widget 배열을 반환합니다.
59+
60+
_코드_
61+
62+
```ts
63+
let x: Widget = getWidget(43);
64+
65+
let arr: Widget[] = getWidget("all of them");
66+
```
67+
68+
_선언_
69+
70+
```ts
71+
declare function getWidget(n: number): Widget;
72+
declare function getWidget(s: string): Widget[];
73+
```
74+
75+
## 재사용 가능한 타입 (인터페이스) (Reusable Types (Interfaces))
76+
77+
_문서_
78+
79+
> greeting을 명시할 때, 반드시 `GreetingSettings` 객체를 전달해야 합니다.
80+
> 이 객체는 다음의 프로퍼티를 갖고 있습니다:
81+
>
82+
> 1 - greeting: 필수 문자열
83+
>
84+
> 2 - duration: 선택적 시간 (밀리초)
85+
>
86+
> 3 - color: 선택적 문자열, 예. '#ff00ff'
87+
88+
_코드_
89+
90+
```ts
91+
greet({
92+
greeting: "hello world",
93+
duration: 4000
94+
});
95+
```
96+
97+
_선언_
98+
99+
프로퍼티를 갖는 타입을 정의하기 위해 `interface`를 사용하세요.
100+
101+
```ts
102+
interface GreetingSettings {
103+
greeting: string;
104+
duration?: number;
105+
color?: string;
106+
}
107+
108+
declare function greet(setting: GreetingSettings): void;
109+
```
110+
111+
## 재사용 가능한 타입 (타입 별칭) (Reusable Types (Type Aliases))
112+
113+
_문서_
114+
115+
> 인사말이 예상되는 어느 곳에나, `string`, `string`을 반환하는 함수, 또는 `Greeter` 인스턴스를 전달할 수 있습니다.
116+
117+
_코드_
118+
119+
```ts
120+
function getGreeting() {
121+
return "howdy";
122+
}
123+
class MyGreeter extends Greeter { }
124+
125+
greet("hello");
126+
greet(getGreeting);
127+
greet(new MyGreeter());
128+
```
129+
130+
_선언_
131+
132+
타입에 대한 약칭으로 타입 별칭을 사용할 수 있습니다:
133+
134+
```ts
135+
type GreetingLike = string | (() => string) | Greeter;
136+
137+
declare function greet(g: GreetingLike): void;
138+
```
139+
140+
## 타입 구조화하기 (Organizing Types)
141+
142+
_문서_
143+
144+
> `greeter` 객체는 파일에 로그를 작성하거나 경고 창을 띄울 수 있습니다.
145+
> 로그 옵션을 `.log(...)` 내부에, 경고 창 옵션을 `.alert(...)` 내부에 전달할 수 있습니다.
146+
147+
_코드_
148+
149+
```ts
150+
const g = new Greeter("Hello");
151+
g.log({ verbose: true });
152+
g.alert({ modal: false, title: "Current Greeting" });
153+
```
154+
155+
_선언_
156+
157+
타입을 구조화하기 위해 네임스페이스를 사용하세요.
158+
159+
```ts
160+
declare namespace GreetingLib {
161+
interface LogOptions {
162+
verbose?: boolean;
163+
}
164+
interface AlertOptions {
165+
modal: boolean;
166+
title?: string;
167+
color?: string;
168+
}
169+
}
170+
```
171+
172+
중첩된 네임스페이스를 하나의 선언으로 만들 수 있습니다:
173+
174+
```ts
175+
declare namespace GreetingLib.Options {
176+
// Refer to via GreetingLib.Options.Log
177+
interface Log {
178+
verbose?: boolean;
179+
}
180+
interface Alert {
181+
modal: boolean;
182+
title?: string;
183+
color?: string;
184+
}
185+
}
186+
```
187+
188+
## 클래스 (Classes)
189+
190+
_문서_
191+
192+
> `Greeter` 객체를 인스턴스화해서 greeter를 생성하거나, 이 객체를 상속해서 커스텀 greeter를 생성할 수 있습니다.
193+
194+
_코드_
195+
196+
```ts
197+
const myGreeter = new Greeter("hello, world");
198+
myGreeter.greeting = "howdy";
199+
myGreeter.showGreeting();
200+
201+
class SpecialGreeter extends Greeter {
202+
constructor() {
203+
super("Very special greetings");
204+
}
205+
}
206+
```
207+
208+
_선언_
209+
210+
클래스 혹은 클래스-같은 객체를 설명하기 위해 `declare class`를 사용하세요.
211+
클래스는 생성자 뿐만 아니라 프로퍼티와 메서드를 가질 수 있습니다.
212+
213+
```ts
214+
declare class Greeter {
215+
constructor(greeting: string);
216+
217+
greeting: string;
218+
showGreeting(): void;
219+
}
220+
```
221+
222+
## 전역 변수 (Global Variables)
223+
224+
_문서_
225+
226+
> 전역 변수 `foo`는 존재하는 위젯의 수를 포함합니다.
227+
228+
_코드_
229+
230+
```ts
231+
console.log("Half the number of widgets is " + (foo / 2));
232+
```
233+
234+
_선언_
235+
236+
변수를 선언하기 위해 `declare var`를 사용하세요.
237+
만약 변수가 읽기-전용이라면, `declare const`를 사용하세요.
238+
변수가 블록-스코프인 경우 `declare let` 또한 사용할 수 있습니다.
239+
240+
```ts
241+
/** 존재하는 위젯의 수 */
242+
declare var foo: number;
243+
```
244+
245+
## 전역 함수 (Global Functions)
246+
247+
_문서_
248+
249+
> 사용자에게 인사말을 보여주기 위해 `greet` 함수를 호출할 수 있습니다.
250+
251+
_코드_
252+
253+
```ts
254+
greet("hello, world");
255+
```
256+
257+
_선언_
258+
259+
함수를 선언하기 위해 `declare function`을 사용하세요.
260+
261+
```ts
262+
declare function greet(greeting: string): void;
263+
```
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
---
2+
title: Consumption
3+
layout: docs
4+
permalink: /ko/docs/handbook/declaration-files/consumption.html
5+
oneline: "How to download d.ts files for your project"
6+
---
7+
8+
TypeScript 2.0에서는 선언 파일을 얻고, 사용하고, 찾는 것이 훨씬 쉬워졌습니다.
9+
이 페이지에서 세 가지를 어떻게 하는지 정확하게 설명합니다.
10+
11+
## 다운로드 (Downloading)
12+
13+
TypeScript 2.0 이상에서 타입 선언을 가져오는데 npm 이외의 도구는 필요하지 않습니다.
14+
15+
예를 들어, lodash와 같은 라이브러리에 대한 선언을 얻는 것은 다음 명령어로 충분합니다.
16+
17+
```cmd
18+
npm install --save @types/lodash
19+
```
20+
21+
[Publishing](/docs/handbook/declaration-files/publishing.html)에서 설명한 대로 npm 패키지에 이미 선언 파일이 포함되어 있다면, `@types` 패키지를 설치할 필요는 없다는 걸 유의하세요.
22+
23+
## 사용하기 (Consuming)
24+
25+
TypeScript 코드에 별 어려움 없이 lodash를 사용할 수 있습니다.
26+
이는 모듈 및 전역 코드에 모두 적용됩니다.
27+
28+
예를 들어, 타입 선언에 대해 `npm install`을 한 번만 수행하면, import 하고 사용할 수 있고
29+
30+
```ts
31+
import * as _ from "lodash";
32+
_.padStart("Hello TypeScript!", 20, " ");
33+
```
34+
35+
또는 모듈을 사용하지 않는다면, 전역 변수 `_` 를 사용할 수 있습니다.
36+
37+
```ts
38+
_.padStart("Hello TypeScript!", 20, " ");
39+
```
40+
41+
## 찾기 (Searching)
42+
43+
대부분의 경우, 타입 선언 패키지 이름은 항상 `npm` 상의 패키지 이름과 같아야 하지만, `@types/` 가 앞에 붙어야 합니다.
44+
하지만 필요시 [https://aka.ms/types](https://aka.ms/types) 를 방문해 선호하는 라이브러리의 패키지를 찾으세요.
45+
46+
> 참고: 만약 찾고자 하는 선언 파일이 없는 경우, 언제든지 기여하고, 다음 개발자가 이를 찾는 데 도움을 줄 수 있습니다.
47+
> 자세한 내용은 DefinitelyTyped의 [기여 지침 페이지](http://definitelytyped.org/guides/contributing.html)를 참고하세요.

0 commit comments

Comments
 (0)