인프런 커뮤니티 질문&답변
타입 주석
작성
·
46
0
잣어해주신 코드에 const minus: (a: number, b: number) => number = ( a: number, b: number ): number => a - b;
이렇게 매개변수에 타입 선언이 두번 위어이쓴ㄴ데 둘중 하나는 뺴도 되는거 같은데 이렇게 작성하신 이유가 있을까요?
퀴즈
TypeScript에서 타입 추론(Type Inference)의 역할은 무엇일까요?
개발자가 타입을 직접 지정하게 강제합니다.
변수에 할당된 값에 기반하여 타입을 자동으로 결정합니다.
오직 함수 매개변수에만 타입을 적용합니다.
런타임에 타입 오류를 감지합니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 이승민님.
타입스크립트에서 함수 표현식에 대해 타입 선언을 두 번 적는 경우를 보신 것 같네요. 이 방식은 타입 주석과 함수 표현식에서 타입을 동시에 작성한 것입니다.
타입 주석 (Type Annotation):
const minus: (a: number, b: number) => number부분에서는 minus라는 변수에 함수 타입을 설정합니다. 이 방식은 minus가 갖는 함수 타입을 명시적으로 지정하여 타입 시스템이 추론할 수 있도록 합니다.함수 표현식 내 타입 (Type Inside Function Expression):
(a: number, b: number): number => a - b부분에서는 실제 함수 구현에서 입력 매개변수와 반환 값의 타입을 명시합니다.
결론적으로, 함수 표현식 내부에 이미 타입이 지정되어 있는 경우, 변수 할당 시 타입 주석이 필수는 아니지만, 코드의 가독성과 타입 안정성을 강화하기 위해 사용됩니다. 즉, 함수 형을 외부에 명시함으로써 함수 사용시 발생할 수 있는 오해를 줄이고, 코드를 읽는 개발자가 함수가 무엇을 예상하는지를 명확히 이해할 수 있게 합니다.
다음 링크에서 유사한 질문에 대한 지식공유자의 답변을 참고하실 수 있습니다:
- 화살표 함수와 타입 지정
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





