From 3ae312e4d87663c8243171340ac25d5ac28d5280 Mon Sep 17 00:00:00 2001 From: ginger-kang Date: Sun, 27 Sep 2020 21:46:28 +0900 Subject: [PATCH 1/5] Functions.ts translation --- .../JavaScript Essentials/Functions.ts | 89 +++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Functions.ts diff --git a/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Functions.ts b/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Functions.ts new file mode 100644 index 000000000000..e4b6c650f7bb --- /dev/null +++ b/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Functions.ts @@ -0,0 +1,89 @@ +//// { order: 2, compiler: { noImplicitAny: false } } + +// JavaScript에서 함수를 선언하는 방식에는 +// 여러 가지가 있습니다. 두 개의 number를 더하는 +// 함수를 한번 살펴보겠습니다: + +// 전역 스코프에 addOldSchool라는 이름으로 함수를 생성합니다 +function addOldSchool(x, y) { + return x + y; +} + +// 또한 함수의 이름을 변수로 +// 옮길 수 있습니다 +const anonymousOldSchoolFunction = function (x, y) { + return x + y; +}; + +// 함수 선언에 화살표 함수 또한 사용할 수 있습니다 +const addFunction = (x, y) => { + return x + y; +}; + +// 우리는 마지막 방식에 초점을 맞추겠습니다. 그러나 모든 것이 +// 세 가지 방식에 똑같이 적용됩니다. + +// TypeScript는 함수 정의에 더해지는 +// 추가 구문을 제공하고 해당 함수에서 +// 예상되는 타입에 대한 힌트를 제공합니다. +// +// 다음은 add 함수의 가장 개방적인 버전으로, +// add 함수는 any 타입의 두 개의 입력을 받습니다: 이것은 +// 당신이 만든 strings, numbers 또는 objects가 될 수 있습니다. + +const add1 = (x: any, y: any) => { + return x + y; +}; +add1("Hello", 23); + +// JavaScript에서 이것은 허용이 됩니다(예시와 같이 strings도 +// 더해질 수 있습니다) 그러나 우리가 알고있는 number를 위한 +// 함수와는 맞지 않으므로, 우리는 x와 y를 numbers만을 +// 허용하게 변환합니다. + +const add2 = (x: number, y: number) => { + return x + y; +}; +add2(16, 23); +add2("Hello", 23); + +// 좋습니다. 이제 number이외의 값이 전달되면 에러가 +// 발생합니다. 만약 add2 단어 위로 마우스를 가져가면 +// TypeScript가 다음과 같이 설명하는 것을 볼 수 있습니다. +// +// const add2: (x: number, y: number) => number +// +// 두 입력이 number일 때 가능한 반환 유형은 오로지 +// number라고 추론합니다. 훌륭합니다. 이것은 추가 구문을 +// 작성할 필요가 없게 해줍니다. +// 이를 수행하는 데 필요한 사항을 살펴 보겠습니다: + +const add3 = (x: number, y: number): string => { + return x + y; +}; + +// 이 함수는 에러를 발생시킵니다. 왜냐하면 TypeScript는 +// string 값이 반환되는 것으로 알고 있지만 함수는 +// 그 약속을 지키지 못했기 때문입니다. + +const add4 = (x: number, y: number): number => { + return x + y; +}; + +// 이것은 add2의 매우 명시적인 버전입니다 +// - 시작 하기 전에 자신에게 작업공간을 제공하기 +// 위해 명시적인 반환 유형 구문을 사용하는 경우가 +// 있습니다. 테스트 기반 개발에서 실패한 테스트로 +// 시작하는 것이 권장되는 방식과 비슷하지만, 이 경우에는 +// 대신 실패한 함수 모양이 있습니다. + +// 이 예제는 입문서일 뿐입니다. 핸드북과 다음 예시의 +// Functional JavaScript 섹션 내에서 TypeScript의 함수가 +// 어떻게 작동하는지에 대한 더 많은 것들을 배울 수 있습니다: +// +// https://www.typescriptlang.org/docs/handbook/functions.html +// example:function-chaining + +// 그리고 JavaScript 필수 사항을 계속 살펴보기 위해, +// 코드 흐름이 TypeScript 유형에 어떤 영향을 미치는지 살펴보겠습니다: +// example:code-flow From f1230c26460a286a03df9ee16e668f86a4d6f5b5 Mon Sep 17 00:00:00 2001 From: ginger-kang Date: Thu, 1 Oct 2020 14:11:28 +0900 Subject: [PATCH 2/5] noImplicitAny.md translation --- .../copy/ko/options/noImplicitAny.md | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 packages/tsconfig-reference/copy/ko/options/noImplicitAny.md diff --git a/packages/tsconfig-reference/copy/ko/options/noImplicitAny.md b/packages/tsconfig-reference/copy/ko/options/noImplicitAny.md new file mode 100644 index 000000000000..af6dc195425a --- /dev/null +++ b/packages/tsconfig-reference/copy/ko/options/noImplicitAny.md @@ -0,0 +1,26 @@ +--- +display: "No Implicit Any" +oneline: "Avoid introducing anys inside your codebase when a type could be specified" +--- + +타입 표기가 존재하지 않는 경우에 대해서, TypeScript는 타입을 추론할 수 없을 때 해당 변수의 타입을 `any`로 대체합니다. + +이것으로 인해 일부 오류가 누락될 수 있습니다. 예를 들면: + +```ts twoslash +// @noImplicitAny: false +function fn(s) { + // No error? + console.log(s.subtr(3)); +} +fn(42); +``` + +그러나 `noImplicitAny`를 켜면 TypeScript는 `any`를 추론 할 때마다 오류를 발생시킵니다: + +```ts twoslash +// @errors: 7006 +function fn(s) { + console.log(s.subtr(3)); +} +``` From 694b48919e79b6a5e736090e99f172c8e48fa4d2 Mon Sep 17 00:00:00 2001 From: ginger-kang Date: Tue, 6 Oct 2020 02:30:31 +0900 Subject: [PATCH 3/5] Update packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Functions.ts --- .../JavaScript Essentials/Functions.ts | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Functions.ts b/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Functions.ts index e4b6c650f7bb..5799392d4d90 100644 --- a/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Functions.ts +++ b/packages/playground-examples/copy/ko/JavaScript/JavaScript Essentials/Functions.ts @@ -1,7 +1,7 @@ //// { order: 2, compiler: { noImplicitAny: false } } // JavaScript에서 함수를 선언하는 방식에는 -// 여러 가지가 있습니다. 두 개의 number를 더하는 +// 여러 가지가 있습니다. 두 숫자를 더하는 // 함수를 한번 살펴보겠습니다: // 전역 스코프에 addOldSchool라는 이름으로 함수를 생성합니다 @@ -20,25 +20,25 @@ const addFunction = (x, y) => { return x + y; }; -// 우리는 마지막 방식에 초점을 맞추겠습니다. 그러나 모든 것이 -// 세 가지 방식에 똑같이 적용됩니다. +// 우리는 마지막 방식에 초점을 맞추겠습니다. +// 하지만 세 가지 방식에 똑같이 적용됩니다. -// TypeScript는 함수 정의에 더해지는 +// TypeScript는 함수 정의에 // 추가 구문을 제공하고 해당 함수에서 // 예상되는 타입에 대한 힌트를 제공합니다. // -// 다음은 add 함수의 가장 개방적인 버전으로, +// 다음은 add 함수의 가장 열려있는 버전으로, // add 함수는 any 타입의 두 개의 입력을 받습니다: 이것은 -// 당신이 만든 strings, numbers 또는 objects가 될 수 있습니다. +// 문자열, 숫자 또는 객체가 될 수 있습니다. const add1 = (x: any, y: any) => { return x + y; }; add1("Hello", 23); -// JavaScript에서 이것은 허용이 됩니다(예시와 같이 strings도 -// 더해질 수 있습니다) 그러나 우리가 알고있는 number를 위한 -// 함수와는 맞지 않으므로, 우리는 x와 y를 numbers만을 +// JavaScript에서는 타당하지만 (예시와 같이 문자열도 +// 더해질 수 있습니다) 우리가 의도한 숫자를 더하는 +// 함수와는 맞지 않으므로, 우리는 x와 y를 숫자만 // 허용하게 변환합니다. const add2 = (x: number, y: number) => { @@ -47,7 +47,7 @@ const add2 = (x: number, y: number) => { add2(16, 23); add2("Hello", 23); -// 좋습니다. 이제 number이외의 값이 전달되면 에러가 +// 좋습니다. 이제 숫자 이외의 값이 전달되면 에러가 // 발생합니다. 만약 add2 단어 위로 마우스를 가져가면 // TypeScript가 다음과 같이 설명하는 것을 볼 수 있습니다. // @@ -56,7 +56,7 @@ add2("Hello", 23); // 두 입력이 number일 때 가능한 반환 유형은 오로지 // number라고 추론합니다. 훌륭합니다. 이것은 추가 구문을 // 작성할 필요가 없게 해줍니다. -// 이를 수행하는 데 필요한 사항을 살펴 보겠습니다: +// 이를 수행하는 데 필요한 사항을 살펴보겠습니다: const add3 = (x: number, y: number): string => { return x + y; @@ -72,10 +72,10 @@ const add4 = (x: number, y: number): number => { // 이것은 add2의 매우 명시적인 버전입니다 // - 시작 하기 전에 자신에게 작업공간을 제공하기 -// 위해 명시적인 반환 유형 구문을 사용하는 경우가 +// 위해 명시적인 반환 타입 구문을 사용하는 경우가 // 있습니다. 테스트 기반 개발에서 실패한 테스트로 // 시작하는 것이 권장되는 방식과 비슷하지만, 이 경우에는 -// 대신 실패한 함수 모양이 있습니다. +// 대신 실패한 함수 형태가 있습니다. // 이 예제는 입문서일 뿐입니다. 핸드북과 다음 예시의 // Functional JavaScript 섹션 내에서 TypeScript의 함수가 From 0945a411b151878b0ec957db5380a2d5c2178247 Mon Sep 17 00:00:00 2001 From: ginger-kang Date: Tue, 6 Oct 2020 02:33:02 +0900 Subject: [PATCH 4/5] Update packages/tsconfig-reference/copy/ko/options/noImplicitAny.md --- .../tsconfig-reference/copy/ko/options/noImplicitAny.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/tsconfig-reference/copy/ko/options/noImplicitAny.md b/packages/tsconfig-reference/copy/ko/options/noImplicitAny.md index af6dc195425a..24792b1776c5 100644 --- a/packages/tsconfig-reference/copy/ko/options/noImplicitAny.md +++ b/packages/tsconfig-reference/copy/ko/options/noImplicitAny.md @@ -3,20 +3,20 @@ display: "No Implicit Any" oneline: "Avoid introducing anys inside your codebase when a type could be specified" --- -타입 표기가 존재하지 않는 경우에 대해서, TypeScript는 타입을 추론할 수 없을 때 해당 변수의 타입을 `any`로 대체합니다. +타입 표기가 존재하지 않을 때, TypeScript는 타입을 추론할 수 없을 때 해당 변수의 타입을 `any`로 대체합니다. 이것으로 인해 일부 오류가 누락될 수 있습니다. 예를 들면: ```ts twoslash // @noImplicitAny: false function fn(s) { - // No error? + // 오류가 아닌가요? console.log(s.subtr(3)); } fn(42); ``` -그러나 `noImplicitAny`를 켜면 TypeScript는 `any`를 추론 할 때마다 오류를 발생시킵니다: +그러나 `noImplicitAny`를 활성화하면 TypeScript는 `any`를 추론 할 때마다 오류를 발생시킵니다: ```ts twoslash // @errors: 7006 From 558ac7c5116de35607005f0f3913e7b8ff44d530 Mon Sep 17 00:00:00 2001 From: ginger-kang Date: Tue, 6 Oct 2020 14:31:20 +0900 Subject: [PATCH 5/5] Update packages/tsconfig-reference/copy/ko/options/noImplicitAny.md --- packages/tsconfig-reference/copy/ko/options/noImplicitAny.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tsconfig-reference/copy/ko/options/noImplicitAny.md b/packages/tsconfig-reference/copy/ko/options/noImplicitAny.md index 24792b1776c5..40cf0a3c6129 100644 --- a/packages/tsconfig-reference/copy/ko/options/noImplicitAny.md +++ b/packages/tsconfig-reference/copy/ko/options/noImplicitAny.md @@ -3,7 +3,7 @@ display: "No Implicit Any" oneline: "Avoid introducing anys inside your codebase when a type could be specified" --- -타입 표기가 존재하지 않을 때, TypeScript는 타입을 추론할 수 없을 때 해당 변수의 타입을 `any`로 대체합니다. +타입이 표기되어 있지 않아, 타입 추론을 할 수 없을 때 TypeScript는 해당 변수의 타입을 `any`로 대체합니다. 이것으로 인해 일부 오류가 누락될 수 있습니다. 예를 들면: