배열로 표시되는 GetMiddleElement 방법을 구현함으로써, 배열의 가운데 요소를 가져라
Get the middle element of the array by implementing a GetMiddleElement method, represented by an array
type GetMiddleElement<T extends any[]> =
T['length'] extends 0|1|2?T:
T extends [any,...infer Rest,any]?
GetMiddleElement<Rest>
:never
앞 뒤 값을 빼낸 뒤, Rest를 다시 재귀적으로 넣는 형태로 구현했다.
이때 배열의 길이가 0,1,2이면 반환조건이므로, 배열의 길이를 확인하여 분기처리를 해주었다.