1. 조건을 만족하는 함수 func의 타입 정의
func 함수
- 매개변수를 그대로 반환
- 매개변수 value에는 모든 타입의 값이 들어올 수 있음
- 반환값의 타입은 매개변수로 전달된 값의 타입과 같음
function func(value: any) { return value; }
function func<T>(value: T):T {
return value;
}
2. 조건을 만족하는 함수 getLastValue의 타입 정의
getLastValue 함수
- 매개변수로 배열을 받아 배열의 마지막 값을 반환
- 매개변수 dat에는 빈 배열을 제외한 모든 배열이 들어올 수 있음
- 반환값의 타입은 매개변수 data 배열의 마지막 요소의 타입이어야 함
function getLastValue(data: any) { return data[data.length - 1]; }
function getLastValue<T>(data: [...any, T]):T {
return data[data.length - 1];
}
3. 조건을 만족하는 함수 map의 타입 구현
map 함수
- 자바스크립트 배열 메서드 map을 본따 만든 함수
- 2개의 매개변수 arr와 callback을 받음
- arr 배열의 모든 요소에 callback 함수를 수행한 결과를 배열로 모아 반환
function map(arr, callback) { let result = []; for (let i = 0; i < arr.length; i++) { result.push(callback(arr[i])); } return result; }
function map<T, U>(arr: T[], callback: (item: T) => U): U[] {
let result = [];
for (let i = 0; i < arr.length; i++) {
result.push(callback(arr[i]));
}
return result;
}
'TIL' 카테고리의 다른 글
| [CS50] 컴퓨팅 사고 - 알고리즘 (0) | 2025.11.05 |
|---|---|
| [CS50] 컴퓨팅 사고 - 정보의 표현 (0) | 2025.11.04 |
| [TS] 프로미스와 제네릭 (0) | 2025.11.04 |
| [TS] 제네릭 클래스 (0) | 2025.11.04 |
| [TS] 제네릭 인터페이스와 타입 별칭 (0) | 2025.11.04 |
