타입스크립트에서 함수에서의 타입 이용에 대해 알아보겠습니다. 타입스크립트에서는 자바스크립트와 타입스크립트에서 제공하는 유용한 문법들을 이용해 함수의 타입을 좀 더 유연하게 정의할 수 있습니다.
자바스크립트의 기본적인 함수는 다음과 같이 작성됩니다.
function sum(a, b){
return a+b;
}
타입스크립트에서는 다음과 같이 타입을 추가할 수 있습니다.
function sum(a: number, b: number): number {
return a+b;
}
promise를 반환하는 함수는 다음과 같이 타입을 추가할 수 있습니다.
function api(a: string): Promise<number> {
return new Promise((resolve, reject) => {
resolve(100);
});
}
함수의 파라미터를 선택적으로 받고싶을 때, 타입 선언 시 ?
연산자를 이용할 수 있습니다. 해당 파라미터는 받을 수도 있고 안 받을 수도 있습니다. 안 받을 경우 undefined 값이 할당됩니다.
function print(a: string, b?: string): void {
console.log(a);
console.log(b);
}
print("홍길동", "홍길순"); //홍길동 홍길순
print("홍길동"); //홍길동 undefined
함수의 파라미터의 기본값
을 설정할 수 있습니다. 파라미터 값을 받지 못할 경우 기본값이 할당됩니다.
function print(message: string = '기본 메세지 입니다.') {
console.log(message);
}
print("변형된 메세지 입니다."); //변형된 메세지 입니다.
pring(); //기본 메세지 입니다.
함수의 파라미터들을 스프레드 연산자
를 이용하여 압축해서 사용할 수 있습니다. 원하는 만큼의 파라미터 값들을 넘기고 싶을 때 사용하면 편리합니다.
function sum(...numbers: number[]): number {
return numbers.reduce((a,b) => a + b);
}
sum(1, 2);
sum(1, 2, 3);
sum(1, 2, 3, 4);