From d89b106ef9d221e64f56ad924c7bbd02c78a2e98 Mon Sep 17 00:00:00 2001 From: yahma25 Date: Mon, 1 Mar 2021 21:08:42 +0900 Subject: [PATCH 1/7] Translate 1 file to ko - Assertion Functions --- .../Assertion Functions.ts | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 docs/playground/ko/3-7/Types and Code Flow/Assertion Functions.ts diff --git a/docs/playground/ko/3-7/Types and Code Flow/Assertion Functions.ts b/docs/playground/ko/3-7/Types and Code Flow/Assertion Functions.ts new file mode 100644 index 00000000..1fab3943 --- /dev/null +++ b/docs/playground/ko/3-7/Types and Code Flow/Assertion Functions.ts @@ -0,0 +1,69 @@ +//// { compiler: { }, order: 1 } + +// 주어진 JavaScript의 유연성 때문에, +// 추측들이 유효한지 확인하기 위해 코드에 런타임 검사를 추가하는 것이 좋습니다. + +// 일반적으로 단언(또는 불변)이라고 불리며 +// 변수가 예상한 것과 일치하지 않을 때 +// 초기에 에러를 발생시키는 작은 기능입니다. + +// Node는 이 기능을 즉시 사용할 수 있는 함수를 가지고 있으며, +// assert라고 불리고 import 없이 사용할 수 있습니다. + +// 우리는 스스로 정의할 것입니다. +// value가 true라고 하는 +// 표현식을 단언하는 함수를 선언합니다: +declare function assert(value: unknown): asserts value; + +// 이제 enum의 타입이 유효한지 검사하기 위해 assert를 사용합니다 +declare const maybeStringOrNumber: string | number; +assert(typeof maybeStringOrNumber === "string"); + +// TypeScript 3.7에서, 코드 흐름 분석은 +// 코드가 무엇인지 알아내기 위해 +// 이런 함수의 종류를 사용할 수 있습니다. +// 아래의 변수를 호버해보면 - 하나의 문자열 또는 숫자에서 +// 단지 하나의 문자열로 좁혀진 것을 확인할 수 있습니다. + +maybeStringOrNumber; + +// 추론된 코드 전체에 있는 타입을 보장하기 위해 +// 단언 함수를 사용할 수 있습니다. +// 예를 들어 TypeScript는 위에 assert 선언을 통해 +// 파라미터에 타입을 추가할 필요 없이 +// 이 함수가 숫자를 반환한다는 것을 알고 있습니다. + +function multiply(x: any, y: any) { + assert(typeof x === "number"); + assert(typeof y === "number"); + + return x * y; +} + +// 단언 함수는 타입 가드와 형제입니다 +// 예시: 타입 가드는 함수를 통해 제어 흐름이 계속 동작할 때, +// 제어 흐름에 영향을 준다는 것을 제외합니다. + +// 예를 들어, 시간이 지나도 enum 좁히기 위해 +// 단언 함수를 사용할 수 있습니다: + +declare const oneOfFirstFiveNumbers: 1 | 2 | 3 | 4 | 5; + +declare function isOdd(param: unknown): asserts param is 1 | 3 | 5; +declare function isBelowFour(param: unknown): asserts param is 1 | 2 | 3 | 4; + +// enum을 다음과 같이 줄여야 합니다: 1 | 3 | 5 + +isOdd(oneOfFirstFiveNumbers); +oneOfFirstFiveNumbers; + +// 그리고 enum의 가능한 상태를 다음과 같이 줄입니다: 1 | 3 + +isBelowFour(oneOfFirstFiveNumbers); +oneOfFirstFiveNumbers; + +// TypeScript 3.7에서 단언 함수의 기능 중 일부 입문서입니다 +// - 릴리스 노트를 읽어보면 +// 더 많은 것을 알아낼 수 있습니다: +// +// https://devblogs.microsoft.com/typescript/announcing-typescript-3-7/ From 556987fa79723fb7772f48a3c575b4f0f561ffb0 Mon Sep 17 00:00:00 2001 From: yahma25 Date: Mon, 1 Mar 2021 21:12:19 +0900 Subject: [PATCH 2/7] Fix the sentence simply --- .../ko/3-7/Types and Code Flow/Assertion Functions.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/playground/ko/3-7/Types and Code Flow/Assertion Functions.ts b/docs/playground/ko/3-7/Types and Code Flow/Assertion Functions.ts index 1fab3943..4e70f9d4 100644 --- a/docs/playground/ko/3-7/Types and Code Flow/Assertion Functions.ts +++ b/docs/playground/ko/3-7/Types and Code Flow/Assertion Functions.ts @@ -23,7 +23,7 @@ assert(typeof maybeStringOrNumber === "string"); // 코드가 무엇인지 알아내기 위해 // 이런 함수의 종류를 사용할 수 있습니다. // 아래의 변수를 호버해보면 - 하나의 문자열 또는 숫자에서 -// 단지 하나의 문자열로 좁혀진 것을 확인할 수 있습니다. +// 하나의 문자열로 좁혀진 것을 확인할 수 있습니다. maybeStringOrNumber; @@ -31,7 +31,7 @@ maybeStringOrNumber; // 단언 함수를 사용할 수 있습니다. // 예를 들어 TypeScript는 위에 assert 선언을 통해 // 파라미터에 타입을 추가할 필요 없이 -// 이 함수가 숫자를 반환한다는 것을 알고 있습니다. +// 함수가 숫자를 반환한다는 것을 알고 있습니다. function multiply(x: any, y: any) { assert(typeof x === "number"); From fb5095d078e7d556a2973d8fe2d309bbd0b9732e Mon Sep 17 00:00:00 2001 From: yahma25 Date: Mon, 1 Mar 2021 21:13:57 +0900 Subject: [PATCH 3/7] Fix small word --- .../ko/3-7/Types and Code Flow/Assertion Functions.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/playground/ko/3-7/Types and Code Flow/Assertion Functions.ts b/docs/playground/ko/3-7/Types and Code Flow/Assertion Functions.ts index 4e70f9d4..488e9631 100644 --- a/docs/playground/ko/3-7/Types and Code Flow/Assertion Functions.ts +++ b/docs/playground/ko/3-7/Types and Code Flow/Assertion Functions.ts @@ -44,7 +44,7 @@ function multiply(x: any, y: any) { // 예시: 타입 가드는 함수를 통해 제어 흐름이 계속 동작할 때, // 제어 흐름에 영향을 준다는 것을 제외합니다. -// 예를 들어, 시간이 지나도 enum 좁히기 위해 +// 예를 들어, 시간이 지나도 enum을 좁히기 위해 // 단언 함수를 사용할 수 있습니다: declare const oneOfFirstFiveNumbers: 1 | 2 | 3 | 4 | 5; From 85bfa5cb7dc59779c033fb5b28e04f2fed9d3590 Mon Sep 17 00:00:00 2001 From: MyoungHo Kim <34343507+yahma25@users.noreply.github.com> Date: Tue, 23 Mar 2021 21:22:57 +0900 Subject: [PATCH 4/7] Update docs/playground/ko/3-7/Types and Code Flow/Assertion Functions.ts Co-authored-by: Kibeom Kwon --- .../ko/3-7/Types and Code Flow/Assertion Functions.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/playground/ko/3-7/Types and Code Flow/Assertion Functions.ts b/docs/playground/ko/3-7/Types and Code Flow/Assertion Functions.ts index 488e9631..c2ed3898 100644 --- a/docs/playground/ko/3-7/Types and Code Flow/Assertion Functions.ts +++ b/docs/playground/ko/3-7/Types and Code Flow/Assertion Functions.ts @@ -1,6 +1,6 @@ //// { compiler: { }, order: 1 } -// 주어진 JavaScript의 유연성 때문에, +// JavaScript의 유연성 때문에, // 추측들이 유효한지 확인하기 위해 코드에 런타임 검사를 추가하는 것이 좋습니다. // 일반적으로 단언(또는 불변)이라고 불리며 From ec2782f0a852fc14c92c588f0f4fff2a48899e1e Mon Sep 17 00:00:00 2001 From: MyoungHo Kim <34343507+yahma25@users.noreply.github.com> Date: Tue, 23 Mar 2021 21:23:13 +0900 Subject: [PATCH 5/7] Update docs/playground/ko/3-7/Types and Code Flow/Assertion Functions.ts Co-authored-by: Kibeom Kwon --- .../ko/3-7/Types and Code Flow/Assertion Functions.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/playground/ko/3-7/Types and Code Flow/Assertion Functions.ts b/docs/playground/ko/3-7/Types and Code Flow/Assertion Functions.ts index c2ed3898..c7896b78 100644 --- a/docs/playground/ko/3-7/Types and Code Flow/Assertion Functions.ts +++ b/docs/playground/ko/3-7/Types and Code Flow/Assertion Functions.ts @@ -1,7 +1,7 @@ //// { compiler: { }, order: 1 } // JavaScript의 유연성 때문에, -// 추측들이 유효한지 확인하기 위해 코드에 런타임 검사를 추가하는 것이 좋습니다. +// 가정을 검증하기 위해서 코드에 런타임 검사를 추가하는 것이 좋습니다. // 일반적으로 단언(또는 불변)이라고 불리며 // 변수가 예상한 것과 일치하지 않을 때 From f576b60a0cc06f234e0ac06156f0becf32998679 Mon Sep 17 00:00:00 2001 From: MyoungHo Kim <34343507+yahma25@users.noreply.github.com> Date: Tue, 23 Mar 2021 21:23:28 +0900 Subject: [PATCH 6/7] Update docs/playground/ko/3-7/Types and Code Flow/Assertion Functions.ts Co-authored-by: Kibeom Kwon --- .../ko/3-7/Types and Code Flow/Assertion Functions.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/playground/ko/3-7/Types and Code Flow/Assertion Functions.ts b/docs/playground/ko/3-7/Types and Code Flow/Assertion Functions.ts index c7896b78..cb024681 100644 --- a/docs/playground/ko/3-7/Types and Code Flow/Assertion Functions.ts +++ b/docs/playground/ko/3-7/Types and Code Flow/Assertion Functions.ts @@ -8,7 +8,7 @@ // 초기에 에러를 발생시키는 작은 기능입니다. // Node는 이 기능을 즉시 사용할 수 있는 함수를 가지고 있으며, -// assert라고 불리고 import 없이 사용할 수 있습니다. +// assert라고 불리며 import 없이 사용할 수 있습니다. // 우리는 스스로 정의할 것입니다. // value가 true라고 하는 From ebd7c04901e4c1a86f74ec6a9e54cb1356af3a24 Mon Sep 17 00:00:00 2001 From: MyoungHo Kim <34343507+yahma25@users.noreply.github.com> Date: Thu, 25 Mar 2021 19:50:13 +0900 Subject: [PATCH 7/7] Update docs/playground/ko/3-7/Types and Code Flow/Assertion Functions.ts Co-authored-by: Kibeom Kwon --- .../ko/3-7/Types and Code Flow/Assertion Functions.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/playground/ko/3-7/Types and Code Flow/Assertion Functions.ts b/docs/playground/ko/3-7/Types and Code Flow/Assertion Functions.ts index cb024681..b1344593 100644 --- a/docs/playground/ko/3-7/Types and Code Flow/Assertion Functions.ts +++ b/docs/playground/ko/3-7/Types and Code Flow/Assertion Functions.ts @@ -44,7 +44,7 @@ function multiply(x: any, y: any) { // 예시: 타입 가드는 함수를 통해 제어 흐름이 계속 동작할 때, // 제어 흐름에 영향을 준다는 것을 제외합니다. -// 예를 들어, 시간이 지나도 enum을 좁히기 위해 +// 예를 들어, enum을 좁히기 위해 // 단언 함수를 사용할 수 있습니다: declare const oneOfFirstFiveNumbers: 1 | 2 | 3 | 4 | 5;