TypeScript
[TypeScript] Inferring Return Types
Dongi
2022. 1. 13. 21:07
안녕하세요 동기 여러분! 오늘은 타입스크립트가 리턴되어 오는 값의 타입도 추론하여 에러를 띄운다는 사실에 대해 알아봅시다!
Inferring Return Types
function sayHi(name: string) {
return `Hi! ${name}!`;
}
const dongiHi = sayHi('Dongi');
- sayHi라는 함수에 매개 변수 name에 타입 문자(string)을 선언하였고
- 리턴값으로 Hi ${name}!을 설정해두었습니다.
- 새로운 변수를 선언하는데 변수의 이름을 dongiHi로 그의 값은 함수 sayHi와 독립 변수로 Dongi를 넣어두었습니다.
실행 시 어떻게 이 값들이 이동하는지 알아봅시다.
값들이 어떻게 이동하는지를 숙지하고 다음 코드를 봅시다.
리턴값 추론
function maxRamen(counts: number) {
return `${counts}개의 라면을 먹을 수 있다.`;
}
const meRamen: number = maxRamen(5);
위의 코드를 컴파일링 하면 아래와 같은 결과가 나옵니다.
에러를 보면 '문자 타입은 숫자 타입에 선언될 수 없습니다.'라고 나옵니다.
에에이이잉? 이게 무슨 소리야 난 분명히 숫자를 넣었고 타입 선언도 모두 숫자로 해놨는데?
에러가 난 이유
에러가 난 이유는 코드의 두 번째 줄과 다섯 번째 줄을 보면 알 수 있습니다.
return `${counts}개의 라면을 먹을 수 있다.`;
는 문자 타입입니다. 그 리턴값이 meRamen에 선언이 되려고 하는데 meRamen은 이미 숫자 타입으로 선언이 되어 있는 상태이기 때문에 에러가 생기는 것입니다. ( meRamen: number
)
결론
타입스크립트는 리턴값의 타입도 추론하여 알아낸다.
오늘의 느낌
그래 니 잘났다 타입스크립트....ㅋㅋㅋ