[typescript] TypeScript 함수

타입스크립트(TypeScript)에서 함수는 코드를 재사용하고 구조를 닍는 데 중요한 역할을 합니다. 이 글에서는 TypeScript에서 함수를 선언하고 사용하는 방법에 대해 알아보겠습니다.

함수 선언

타입스크립트에서는 함수를 다음과 같이 선언합니다.

function add(a: number, b: number): number {
    return a + b;
}

위 코드에서 add 함수는 두 개의 매개변수를 받고, 숫자를 반환합니다. 매개변수와 반환값의 타입을 명시적으로 지정했습니다.

화살표 함수

화살표 함수(arrow function)는 다음과 같이 선언할 수 있습니다.

const multiply = (a: number, b: number): number => {
    return a * b;
};

화살표 함수를 사용하면 함수 선언을 더 간결하게 작성할 수 있습니다.

선택적 매개변수

타입스크립트에서는 매개변수를 선택적으로 만들 수 있습니다.

function greet(name: string, greeting?: string): void {
    if (greeting) {
        console.log(`${greeting}, ${name}!`);
    } else {
        console.log(`Hello, ${name}!`);
    }
}

위 코드에서 greeting 매개변수는 선택적이며, 호출 시에 전달할 수도 있고 생략할 수도 있습니다.

기본 매개변수

기본 매개변수(default parameter)를 사용하여 매개변수에 기본값을 지정할 수 있습니다.

function greet(name: string, greeting: string = 'Hello'): void {
    console.log(`${greeting}, ${name}!`);
}

위 코드에서 greeting 매개변수의 기본값을 'Hello'로 지정했습니다.

매개변수 Rest 문법

Rest 문법을 사용하여 함수에서 가변적인 수의 매개변수를 다룰 수 있습니다.

function sum(...numbers: number[]): number {
    return numbers.reduce((acc, cur) => acc + cur, 0);
}

위 코드에서 ...numbers는 가변적인 수의 매개변수를 받아 배열로 처리합니다.

함수 오버로드

함수 오버로드(overloads)를 사용하여 다른 매개변수 타입에 따라 다른 동작을 하는 함수를 선언할 수 있습니다.

function display(name: string): void;
function display(age: number): void;
function display(value: string | number): void {
    if (typeof value === 'string') {
        console.log(`Name: ${value}`);
    } else {
        console.log(`Age: ${value}`);
    }
}

위 코드에서 display 함수는 문자열 또는 숫자를 매개변수로 받아 다른 동작을 합니다.

함수는 TypeScript에서 핵심적인 부분이며, 다양한 방식으로 활용될 수 있습니다. 함수 사용 시에는 타입과 매개변수에 대한 규칙을 잘 지키면서 유연하게 활용하는 것이 중요합니다.

참고 문헌: