Skip to content

Commit e7669e5

Browse files
Merge pull request #48 from yahma25/Translation-to-ko-playground-Assertion-Functions
Translate 1 file to ko - Assertion Functions
2 parents 090feaf + ebd7c04 commit e7669e5

File tree

1 file changed

+69
-0
lines changed

1 file changed

+69
-0
lines changed
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
//// { compiler: { }, order: 1 }
2+
3+
// JavaScript의 유연성 때문에,
4+
// 가정을 검증하기 위해서 코드에 런타임 검사를 추가하는 것이 좋습니다.
5+
6+
// 일반적으로 단언(또는 불변)이라고 불리며
7+
// 변수가 예상한 것과 일치하지 않을 때
8+
// 초기에 에러를 발생시키는 작은 기능입니다.
9+
10+
// Node는 이 기능을 즉시 사용할 수 있는 함수를 가지고 있으며,
11+
// assert라고 불리며 import 없이 사용할 수 있습니다.
12+
13+
// 우리는 스스로 정의할 것입니다.
14+
// value가 true라고 하는
15+
// 표현식을 단언하는 함수를 선언합니다:
16+
declare function assert(value: unknown): asserts value;
17+
18+
// 이제 enum의 타입이 유효한지 검사하기 위해 assert를 사용합니다
19+
declare const maybeStringOrNumber: string | number;
20+
assert(typeof maybeStringOrNumber === "string");
21+
22+
// TypeScript 3.7에서, 코드 흐름 분석은
23+
// 코드가 무엇인지 알아내기 위해
24+
// 이런 함수의 종류를 사용할 수 있습니다.
25+
// 아래의 변수를 호버해보면 - 하나의 문자열 또는 숫자에서
26+
// 하나의 문자열로 좁혀진 것을 확인할 수 있습니다.
27+
28+
maybeStringOrNumber;
29+
30+
// 추론된 코드 전체에 있는 타입을 보장하기 위해
31+
// 단언 함수를 사용할 수 있습니다.
32+
// 예를 들어 TypeScript는 위에 assert 선언을 통해
33+
// 파라미터에 타입을 추가할 필요 없이
34+
// 함수가 숫자를 반환한다는 것을 알고 있습니다.
35+
36+
function multiply(x: any, y: any) {
37+
assert(typeof x === "number");
38+
assert(typeof y === "number");
39+
40+
return x * y;
41+
}
42+
43+
// 단언 함수는 타입 가드와 형제입니다
44+
// 예시: 타입 가드는 함수를 통해 제어 흐름이 계속 동작할 때,
45+
// 제어 흐름에 영향을 준다는 것을 제외합니다.
46+
47+
// 예를 들어, enum을 좁히기 위해
48+
// 단언 함수를 사용할 수 있습니다:
49+
50+
declare const oneOfFirstFiveNumbers: 1 | 2 | 3 | 4 | 5;
51+
52+
declare function isOdd(param: unknown): asserts param is 1 | 3 | 5;
53+
declare function isBelowFour(param: unknown): asserts param is 1 | 2 | 3 | 4;
54+
55+
// enum을 다음과 같이 줄여야 합니다: 1 | 3 | 5
56+
57+
isOdd(oneOfFirstFiveNumbers);
58+
oneOfFirstFiveNumbers;
59+
60+
// 그리고 enum의 가능한 상태를 다음과 같이 줄입니다: 1 | 3
61+
62+
isBelowFour(oneOfFirstFiveNumbers);
63+
oneOfFirstFiveNumbers;
64+
65+
// TypeScript 3.7에서 단언 함수의 기능 중 일부 입문서입니다
66+
// - 릴리스 노트를 읽어보면
67+
// 더 많은 것을 알아낼 수 있습니다:
68+
//
69+
// https://devblogs.microsoft.com/typescript/announcing-typescript-3-7/

0 commit comments

Comments
 (0)