Skip to content
This repository was archived by the owner on Apr 23, 2020. It is now read-only.

Commit 9381c87

Browse files
authored
namespaces and modules 검토 (#191)
* namespaces and modules 검토 * 띄어쓰기 수정
1 parent f0a9107 commit 9381c87

File tree

1 file changed

+16
-16
lines changed

1 file changed

+16
-16
lines changed

namespaces-and-modules.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
# 소개 (Introduction)
22

3-
게시물에서는 TypeScript에서 모듈(module)과 네임스페이스(namespace)를 사용하여 코드를 구성하는 다양한 방법을 간략하게 설명합니다.
4-
또한 네임스페이스와 모듈에 관한 몇 가지 고급 주제와 TypeScript에서 이것들을 사용할 때 흔히 마주치는 위험성을 살펴볼 것입니다.
3+
글에서는 TypeScript에서 모듈과 네임스페이스를 사용하여 코드를 구성하는 다양한 방법을 간략하게 설명합니다.
4+
또한 네임스페이스와 모듈에 관한 몇 가지 고급 주제와 TypeScript에서 네임스페이스와 모듈을 사용할 때 흔히 마주치는 위험성을 살펴볼 것입니다.
55

6-
ES 모듈(ES Modules)에 대한 자세한 내용은 [Modules](./Modules.md) 문서를 참고하세요.
7-
TypeScript 네임스페이스에 대한 자세한 내용은 [Namespaces](./Namespaces.md) 문서를 참고하세요.
6+
ES 모듈에 대한 자세한 내용은 [모듈](./modules.md) 문서를 참고하세요.
7+
TypeScript 네임스페이스에 대한 자세한 내용은 [네임스페이스](./namespaces.md) 문서를 참고하세요.
88

9-
참고: 매우 오래된 버전의 TypeScript 네임스페이스는 이전의 JavaScript 모듈 시스템인 '내부 모듈'이라고 불렸습니다.
9+
참고: _매우_ 오래된 버전의 TypeScript 네임스페이스는 이전의 JavaScript 모듈 시스템인 '내부 모듈'이라고 불렸습니다.
1010

1111
# 모듈 사용하기 (Using Modules)
1212

@@ -17,16 +17,16 @@ TypeScript 네임스페이스에 대한 자세한 내용은 [Namespaces](./Names
1717

1818
또한 Node.js 애플리케이션의 경우 모듈이 기본적인 방법이며, 코드를 구조화하는 데 있어 권장하는 접근법이라는 점을 유의해야 합니다.
1919

20-
ECMAScript 2015부터, 모듈은 언어에서 기본적으로 내재한 부분이며, 모든 호환 엔진 구현(compliant engine implementation)은 모듈을 지원해야 합니다.
20+
ECMAScript 2015부터, 모듈은 언어에서 기본적으로 내재한 부분이며, 모든 호환 엔진 구현은 모듈을 지원해야 합니다.
2121
따라서, 새로운 프로젝트의 경우 코드를 구성하는 방법으로 모듈을 권장합니다.
2222

2323
# 네임스페이스 사용하기 (Using Namespaces)
2424

25-
네임스페이스는 TypeScript에 따라 코드를 구성하는 방법입니다.
26-
네임스페이스는 단순히 전역 네임스페이스 내부의 JavaScript 객체에 붙은 명칭입니다.
25+
네임스페이스는 코드를 구성하는 TypeScript만의 고유한 방법입니다.
26+
네임스페이스는 간단히 전역 네임스페이스에서 JavaScript 객체로 이름 붙여집니다.
2727
이러한 점 덕분에 네임스페이스를 아주 단순한 구조로 사용할 수 있습니다.
2828
모듈과 달리, 여러 개의 파일을 포괄할 수 있으며, `--outFile`을 사용해 연결할 수 있습니다.
29-
네임스페이스는 웹 애플리케이션에서 코드를 구조화하기에 좋은 방법이며, 모든 의존성은 HTML 페이지의 `<script>` 태그로 포함됩니다.
29+
네임스페이스는 웹 애플리케이션에서 코드를 구조화하기에 좋은 방법이며, 모든 의존성은 HTML 페이지의 `<script>` 태그로 포함합니다.
3030

3131
특히 대규모 애플리케이션의 경우, 이 방법은 모든 전역 네임스페이스가 오염되는 경우와 마찬가지로 컴포넌트의 의존성을 식별하기 힘들게 만들 수 있습니다.
3232

@@ -37,7 +37,7 @@ ECMAScript 2015부터, 모듈은 언어에서 기본적으로 내재한 부분
3737
## `/// <reference>`를 사용한 모듈
3838

3939
일반적인 실수는 모듈 파일을 참조하기 위해 `import`문 대신 `/// <reference ... />` 구문을 사용하는 것입니다.
40-
이 둘의 차이를 구분하기 위해, 우선 import 경로에 위치한 모듈에 대한 타입 정보를 컴파일러가 어떻게 찾아내는지를 이해해야 합니다. (예: import x from "..."; 또는 import x = require("..."); 내부의 ...)
40+
이 둘의 차이를 이해하기 위해, 우선 `import` 경로에 위치한 모듈에 대한 타입 정보를 컴파일러가 어떻게 찾아내는지를 이해해야 합니다. (예를 들어, `import x from "...";`, `import x = require("...");` 등 안의 `...`)
4141

4242
컴파일러는 `.ts``.tsx`를 찾은 다음 적절한 경로에 위치한 `.d.ts`를 찾습니다.
4343
만약 특정 파일을 찾지 못한다면, 컴파일러는 *앰비언트 모듈(ambient module) 선언*을 탐색할 것입니다.
@@ -60,7 +60,7 @@ ECMAScript 2015부터, 모듈은 언어에서 기본적으로 내재한 부분
6060
```
6161

6262
위의 reference 태그는 앰비언트 모듈(ambient module) 선언이 포함된 선언 파일의 위치를 지정하는 데 필요합니다.
63-
이러한 방법으로 여러 개의 TypeScript 샘플에서 사용되는 `node.d.ts` 파일이 사용됩니다.
63+
이 방법은 여러 TypeScript 샘플에서 사용하는 `node.d.ts`파일을 사용하는 방법입니다.
6464

6565
## 불필요한 네임스페이스 (Needless Namespacing)
6666

@@ -88,8 +88,8 @@ ECMAScript 2015부터, 모듈은 언어에서 기본적으로 내재한 부분
8888
TypeScript 모듈의 중요한 특징 중 하나는 서로 다른 두 개의 모듈이 절대 같은 스코프 안에 이름을 제공하지 않는다는 점입니다.
8989
모듈 사용자가 어떤 이름을 할당할지를 결정하기 때문에, 네임스페이스 내부에서 내보내는 심벌을 미리 감싸줄 필요가 없습니다.
9090

91-
모듈 내용물의 네임스페이스를 설정할 필요가 없는지를 반복하자면, 네임스페이스를 지정하는 일반적인 목적은 구조의 논리적 그룹을 제공하고 이름 충돌을 방지하기 위함입니다.
92-
모듈 파일이 이미 스스로 논리적 그룹을 형성하고 있기 때문에, 이것의 최상위 이름은 이를 가져오는 코드에 의해 정의되고, 내보내는 객체를 위한 추가적인 모듈 계층을 사용할 필요가 없습니다.
91+
모듈 내용의 네임스페이스를 설정하지 않아도 되는 이유를 다시 말하면, 네임스페이스를 지정하는 일반적인 목적은 구조의 논리적 그룹을 제공하고 이름 충돌을 방지하기 위함입니다.
92+
모듈 파일이 이미 스스로 논리적 그룹을 형성하고 있기 때문에, 최상위 이름은 이를 가져오는 코드에 의해 정의되고, 내보내는 객체를 위한 추가적인 모듈 계층을 사용할 필요가 없습니다.
9393

9494
다음은 수정된 예입니다:
9595

@@ -107,8 +107,8 @@ TypeScript 모듈의 중요한 특징 중 하나는 서로 다른 두 개의 모
107107
let t = new shapes.Triangle();
108108
```
109109

110-
## 모듈 간의 균형 (Trade-offs of Modules)
110+
## 모듈의 트레이드-오프 (Trade-offs of Modules)
111111

112-
JS 파일과 모듈이 일대일 대응을 하는 것처럼, TypeScript는 모듈 소스 파일과 이것으로부터 생성된 JS 파일도 일대일 대응을 합니다.
112+
JS 파일과 모듈이 일대일 대응인 것처럼, TypeScript는 모듈 소스 파일과 이 파일에서 생성된 JS 파일도 일대일 대응입니다.
113113
이러한 특성 때문에 어떤 모듈 시스템을 사용하느냐에 따라서 여러 모듈 소스 파일을 합치는 작업이 불가능할 수 있습니다.
114-
예를 들어, `commonjs` 또는 `umd`를 대상으로 하는 동안에는 `outFile` 옵션을 사용할 수 없었지만, TypeScript 1.8 이후부터, amd 또는 system를 대상으로 하는 경우에는 outFile 옵션을 [사용할 수 있게 되었습니다](./release%20notes/TypeScript%201.8.md#concatenate-amd-and-system-modules-with---outfile).
114+
예를 들어, `commonjs` 또는 `umd`를 대상으로 하는 동안에는 `outFile` 옵션을 사용할 수 없지만, TypeScript 1.8 이후부터, `amd` 또는 `system` 대상으로 하는 경우에는 `outFile` 옵션을 [사용할 수 있게 되었습니다](./release%20notes/TypeScript%201.8.md#concatenate-amd-and-system-modules-with---outfile).

0 commit comments

Comments
 (0)