5.1 함수의 선언과 실행

5.1.1 함수에 타입을 선언하는 방법

3. 자바스크립트가 가지지 못한 녀석, 타입에서 함수에 타입을 선언하는 방법에 대해서 간략하게 다뤄봤다. 이번 파트에서 타입스크립트로 함수를 선언하고 실행하는 방법에 대해 자세히 알아보자. 함수는 매개변수 명 옆에 타입을 선언할 수 있고, 리턴값에 타입을 선언할 수 있다. 리턴 타입을 기입하지 않고, 타입을 추론하게 할 수도 있다. 함수를 실행할 때는 인자에 따로 타입을 선언하지 않아도 된다. 왜냐하면, 함수의 매개변수와 인자의 타입이 호환되는지 확인하기 때문이다.

// 리턴 타입이 추론된 방식
function food1(name:string){
	return 'good' + name
}
food1('chicken') //'goodchicken'

// 리턴 타입이 선언된 방식
function food1(name:string):string{
	return 'good' + name
}
food1('chicken') //'goodchicken'
//리턴 타입이 추론된 방식
let food2 = function(name:string){
	return 'good' + name
}
food2('chicken') //'goodchicken'

//리턴 타입이 선언된 방식
let food2 = function(name:string):string{
	return 'good' + name
}
food2('chicken') //'goodchicken'

//리턴 타입이 추론된 방식
let food3 = (name:string) =>{
	return 'good' + name
}
food3('chicken')//'goodchicken'

//리턴 타입이 선언된 방식
let food3 = (name:string):string =>{
	return 'good' + name
}
food3('chicken')//'goodchicken'

위 예제들은 모두 리턴 값이 있다. 리턴값을 반환하고 싶지 않을 때는 void 타입을 사용할 수 있다. 3장 void 타입에서 자세히 설명되어있다.

function food(price:number):void{
	console.log(price);
}
food(20000); //20000;