func(fn: (value: T) => {})
타입스크립트에서 func(fn: (value: T) => {})
와 같은 표기법은 함수의 매개변수로 사용되는 콜백 함수를 나타내는 것입니다. 이러한 표기법은 콜백 함수의 매개변수 타입과 반환 타입을 명시하기 위해 사용됩니다.
fn: (value: T) => {}
는 fn
이라는 매개변수가 있는 함수를 나타내며, 이 함수는 value
라는 매개변수를 가지고 있고 반환값이 없음을 의미합니다. 중괄호 {}
는 빈 객체를 나타내며, 반환 타입이 없음을 나타내기 위해 사용됩니다.
아래는 타입스크립트에서 콜백 함수를 사용하는 몇 가지 예시입니다.
function processArray(array: number[], callback: (value: number) => void) {
for (const item of array) {
callback(item);
}
}
const numbers = [1, 2, 3, 4, 5];
processArray(numbers, (value) => {
console.log(value); // 각 숫자를 출력하는 콜백 함수
});
function mapArray<T>(array: T[], callback: (value: T) => T): T[] {
const result: T[] = [];
for (const item of array) {
result.push(callback(item));
}
return result;
}
const numbers = [1, 2, 3, 4, 5];
const doubledNumbers = mapArray(numbers, (value) => value * 2);
console.log(doubledNumbers); // [2, 4, 6, 8, 10]
function filterArray<T>(array: T[], callback: (value: T) => boolean): T[] {
const result: T[] = [];
for (const item of array) {
if (callback(item)) {
result.push(item);
}
}
return result;
}
const numbers = [1, 2, 3, 4, 5];
const evenNumbers = filterArray(numbers, (value) => value % 2 === 0);
console.log(evenNumbers); // [2, 4]
위 예시들에서 콜백 함수는 value
매개변수를 사용하여 작업을 수행하고, 반환 타입은 void
, T
, boolean
등 다양하게 사용될 수 있습니다. 타입스크립트에서 이러한 콜백 함수 표기법을 사용하면 함수의 타입을 명확하게 지정하여 코드의 가독성과 유지보수성을 향상시킬 수 있습니다.