Skip to content

Commit 275b8ea

Browse files
committed
Add files from old Korean repo to ko
1 parent 18d5db7 commit 275b8ea

14 files changed

+5462
-0
lines changed
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
---
2+
title: "Module: Class"
3+
layout: docs
4+
permalink: /ko/docs/handbook/declaration-files/templates/module-class-d-ts.html
5+
---
6+
7+
<!--
8+
TODO:
9+
10+
1. Not clear why UMD is thrown in here.
11+
2. Give both commonjs and ES module examples.
12+
-->
13+
14+
예를 들어 다음과 같은 자바스크립트 코드를 다루는 경우를 가정합시다.
15+
16+
```ts
17+
const Greeter = require("super-greeter");
18+
19+
const greeter = new Greeter();
20+
greeter.greet();
21+
```
22+
23+
UMD 또는 일반 모듈을 임포팅하는 두 가지 경우 모두에 대해 대응하려면 다음을 참고합니다.
24+
25+
```ts
26+
// Type definitions for [~라이브러리 이름~] [~선택적 버전 숫자~]
27+
// Project: [~프로젝트 이름~]
28+
// Definitions by: [~내 이름~] <[~내 URL~]>
29+
30+
/*~ 클래스 모듈을 위한 모듈 템플릿 입니다.
31+
*~ 이름을 index.d.ts로 변경하고, 모듈 이름의 폴더에 배치해야 합니다.
32+
*~ 예를 들어, "super-greeter" 파일을 작성하는 경우
33+
*~ 이 파일은 'super-greeter/index.d.ts'가 되어야 합니다.
34+
*/
35+
36+
// ES6 모듈은 직접 클래스 객체를 export할 수 없습니다.
37+
// 이 파일은 CommonJS-style을 사용해서 import 해야 합니다.
38+
// import x = require('[~THE MODULE~]');
39+
//
40+
// 또한, --allowSyntheticDefaultImports 나
41+
// --esModuleInterop 옵션을 활성화한다면,
42+
// default import로 import할 수 있습니다:
43+
// import x from '[~THE MODULE~]';
44+
//
45+
// ES6 모듈의 제한에 대한 일반적인 해결 방법을 이해하려면
46+
// https://www.typescriptlang.org/docs/handbook/modules.html#export--and-import--require
47+
// 에서 TypeScript 문서를 참고하세요.
48+
49+
/*~ 전역 변수 'myClassLib'을 노출하는 UMD 모듈을
50+
*~ 모듈 로더 환경 외부에서 로드하려면, 여기에서 전역으로 선언하세요.
51+
*~ 그렇지 않으면, 이 선언을 제거하세요.
52+
*/
53+
export as namespace "super-greeter";
54+
55+
/*~ 이 선언은 클래스 생성자 함수를
56+
*~ 파일에서 export된 객체로 지정합니다.
57+
*/
58+
export = Greeter;
59+
60+
/*~ 이 클래스에서 모듈 메서드와 프로퍼티를 지정합니다. */
61+
declare class Greeter {
62+
constructor(customGreeting?: string);
63+
64+
greet: void;
65+
66+
myMethod(opts: MyClass.MyClassMethodOptions): number;
67+
}
68+
69+
/*~ 모듈에서 타입을 노출하려면
70+
*~ 이 블록 안에 위치시키세요.
71+
*~
72+
*~ 네임스페이스를 포함할 경우,
73+
*~ --esModuleInterop 이 설정되어 있지 않으면,
74+
*~ 모듈을 네임 스페이스 객체로 잘못 import 할 수 있습니다:
75+
*~ import * as x from '[~THE MODULE~]'; // 오류! 이렇게 하지 마세요!
76+
*/
77+
declare namespace MyClass {
78+
export interface MyClassMethodOptions {
79+
width?: number;
80+
height?: number;
81+
}
82+
}
83+
```
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
---
2+
title: "Module: Function"
3+
layout: docs
4+
permalink: /ko/docs/handbook/declaration-files/templates/module-function-d-ts.html
5+
---
6+
7+
예를 들어 다음과 같은 자바스크립트 코드를 다루는 경우를 가정합시다.
8+
9+
```ts
10+
import greeter from "super-greeter";
11+
12+
greeter(2);
13+
greeter("Hello world");
14+
```
15+
16+
UMD 또는 일반 모듈을 임포팅하는 두 가지 경우 모두에 대해 대응하려면 다음을 참고합니다.
17+
18+
```ts
19+
// Type definitions for [~라이브러리 이름~] [~선택적 버전 숫자~]
20+
// Project: [~프로젝트 이름~]
21+
// Definitions by: [~내 이름~] <[~내 URL~]>
22+
23+
/*~ 함수 모듈을 위한 모듈 템플릿 입니다.
24+
*~ 이름을 index.d.ts로 변경하고, 모듈과 같은 이름의 폴더 안에 배치해야 합니다.
25+
*~ 예를 들어, "super-greeter" 파일을 작성하는 경우
26+
*~ 이 파일은 'super-greeter/index.d.ts'가 되어야 합니다.
27+
*/
28+
29+
// ES6 모듈은 클래스 객체를 직접 export할 수 없습니다.
30+
// 이 파일은 CommonJS-스타일을 사용해서 import 해야 합니다:
31+
// import x = require('[~THE MODULE~]');
32+
//
33+
// 또한, --allowSyntheticDefaultImports 나
34+
// --esModuleInterop 옵션을 활성화한다면,
35+
// default import로 import할 수 있습니다:
36+
// import x from '[~THE MODULE~]';
37+
//
38+
// ES6 모듈의 제한에 대한 일반적인 해결방법을 이해하려면
39+
// https://www.typescriptlang.org/docs/handbook/modules.html#export--and-import--require
40+
// 에서 TypeScript 문서를 참고하세요.
41+
42+
/*~ 전역 변수 'myFuncLib'을 노출하는 UMD 모듈을
43+
*~ 모듈 로더 환경 외부에서 로드하려면, 여기에서 전역으로 선언하세요.
44+
*~ 그렇지 않으면, 이 선언을 제거하세요.
45+
*/
46+
export as namespace myFuncLib;
47+
48+
/*~ 이 선언은 함수를
49+
*~ 파일에서 export된 객체로 지정합니다.
50+
*/
51+
export = Greeter;
52+
53+
/*~ 이 예제는 함수에 대한 여러 오버로드하는 방법을 보여줍니다 */
54+
declare function Greeter(name: string): Greeter.NamedReturnType;
55+
declare function Greeter(length: number): Greeter.LengthReturnType;
56+
57+
/*~ 모듈에서 타입을 노출하고 싶다면,
58+
*~ 이 블록 안에 위치시키세요. 종종 함수 반환 타입의 형태를
59+
*~ 기술하고 싶을 수 있습니다; 그 타입은
60+
*~ 이 예제처럼 여기에 선언하세요.
61+
*~
62+
*~ 네임스페이스를 포함할 경우,
63+
*~ 모듈을 네임스페이스 객체로 잘못 import 할 수 있습니다.
64+
*~ --esModuleInterop 옵션을 활성화하세요:
65+
*~ import * as x from '[~THE MODULE~]'; // 오류! 이렇게 하지 마세요!
66+
*/
67+
declare namespace Greeter {
68+
export interface LengthReturnType {
69+
width: number;
70+
height: number;
71+
}
72+
export interface NamedReturnType {
73+
firstName: string;
74+
lastName: string;
75+
}
76+
77+
/*~ 모듈이 프로퍼티를 갖고 있다면, 여기에 선언하세요. 예를 들어
78+
*~ 이 선언은 이 코드가 합법적임을 의미합니다:
79+
*~ import f = require('super-greeter');
80+
*~ console.log(f.defaultName);
81+
*/
82+
export const defaultName: string;
83+
export let defaultLength: number;
84+
}
85+
```

0 commit comments

Comments
 (0)