@@ -56,7 +56,7 @@ function concat<A1, B1, C1, D1, E1, F1, A2>(arr1: [A1, B1, C1, D1, E1, F1], arr2
56
56
안타깝게도, ` tail ` 함수를 타이핑할 때도 이와 비슷한 문제에 직면하게 됩니다.
57
57
58
58
이것은 "천 개의 오버로드로 인한 죽음(death by a thousand overloads)"의 하나의 경우이며, 심지어 대부분 문제를 해결하지도 못합니다.
59
- 우리가 작성하고자하는만큼의 오버로드에 한해서만 올바른 타입을 제공합니다.
59
+ 우리가 작성하고자 하는 만큼의 오버로드에 한해서만 올바른 타입을 제공합니다.
60
60
포괄적인 케이스를 만들고 싶다면, 다음과 같은 오버로드가 필요합니다.
61
61
62
62
``` ts
@@ -67,9 +67,9 @@ function concat<T, U>(arr1: T[], arr2: U[]): Array<T | U>;
67
67
68
68
TypeScript 4.0은 타입 추론 개선을 포함한 두 가지 핵심적인 변화를 도입해 이러한 타이핑을 가능하도록 만들었습니다.
69
69
70
- 첫 번째 변화는 튜플 타입 구문의 확장 연산자에서 제너릭 타입을 사용할 수 있다는 점입니다.
70
+ 첫 번째 변화는 튜플 타입 구문의 스프레드 연산자에서 제네릭 타입을 사용할 수 있다는 점입니다.
71
71
우리가 작동하는 실제 타입을 모르더라도 튜플과 배열에 대한 고차함수를 표현할 수 있다는 뜻입니다.
72
- 이러한 튜플 타입에서 제너릭 확장 연산자가 인스턴스화(혹은, 실제 타입으로 대체)되면 또 다른 배열이나 튜플 타입 세트를 생산할 수 있습니다.
72
+ 이러한 튜플 타입에서 제네릭 스프레드 연산자가 인스턴스화(혹은, 실제 타입으로 대체)되면 또 다른 배열이나 튜플 타입 세트를 생산할 수 있습니다.
73
73
74
74
예를 들어, ` tail ` 같은 함수를 "천 개의 오버로드로 인한 죽음(death by a thousand overloads)"이슈 없이 타이핑 할 수 있게 됩니다.
75
75
@@ -188,7 +188,7 @@ f3(123, "hello");
188
188
189
189
가변 인자 튜플 타입은 특히 기능 구성과 관련하여 많은 새로운 흥미로운 패턴을 가능하게 합니다.
190
190
우리는 JavaScript에 내장된 ` bind ` 메서드의 타입 체킹을 더 잘하기 위해 이를 활용할 수 있을 것이라고 기대합니다.
191
- 몇 가지 다른 추론 개선 및 패턴들도 여기에 포함되어있으며 , 가변 인자 튜플에 대해 더 알아보고 싶다면, [ the pull request] ( https://github.com/microsoft/TypeScript/pull/39094 ) 를 참고해보세요.
191
+ 몇 가지 다른 추론 개선 및 패턴들도 여기에 포함되어 있으며 , 가변 인자 튜플에 대해 더 알아보고 싶다면, [ the pull request] ( https://github.com/microsoft/TypeScript/pull/39094 ) 를 참고해보세요.
192
192
193
193
## Labeled Tuple Elements
194
194
0 commit comments