프론트엔드 개발 · 기초
TypeScript에서 함수에 타입을 정의하는 방법은 무엇이며, 매개변수와 반환 값에 타입을 명시하는 이유를 설명해주세요.
힌트 · 함수의 입력과 출력에 타입을 명시하여 잘못된 인자 전달이나 예상치 못한 반환 값으로 인한 오류를 방지합니다.
타입 애너테이션매개변수 타입반환 타입정적 타입타입 추론
모범답안
TypeScript에서 함수에 타입을 정의하는 방법은 크게 두 가지입니다. 첫째는 매개변수와 반환 값에 타입 애너테이션을 사용하는 것입니다. 예를 들어 function add(x: number, y: number): number { return x + y; } 와 같이 콜론(:)을 사용하여 타입을 명시합니다. 둘째는 TypeScript의 타입 추론 기능을 활용하는 것입니다. 변수에 초기값을 할당하거나, 반환 값이 명확한 경우 타입을 생략할 수 있습니다.
매개변수와 반환 값에 타입을 명시하는 이유는 코드의 안정성을 높이기 위해서입니다. 타입을 지정함으로써 함수에 잘못된 타입의 인자가 전달되거나, 예상치 못한 타입의 반환 값이 나오는 것을 방지할 수 있습니다. 이는 개발 단계에서 오류를 미리 발견하고 수정하는 데 도움을 주며, 코드의 가독성과 유지보수성을 향상시키는 데 기여합니다. 또한, 정적 타입 검사를 통해 런타임 오류를 줄일 수 있습니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 TypeScript 면접 질문
- TypeScript의 기본 타입(Basic Types) 중 'string', 'number', 'boolean' 외에 'any'와 'unknown' 타입은 각각 어떤 용도로 사용되며, 둘의 차이점은 무엇인가요?
- TypeScript의 'interface'는 무엇이며, 객체의 형태를 정의할 때 어떻게 활용할 수 있는지 간단한 예시와 함께 설명해주세요.
- 'type' 별칭(Type Alias)은 무엇이며, 'interface'와 비교했을 때 어떤 상황에서 'type' 별칭을 사용하는 것이 더 적합한가요?
- 'enum' 타입은 무엇이며, TypeScript에서 'enum'을 사용하는 주된 목적과 간단한 예시를 들어 설명해주세요.
- TypeScript에서 여러 타입 중 특정 타입의 값을 안전하게 처리하기 위해 사용하는 타입 가드(Type Guards)의 종류와 각각의 사용 사례를 설명해 주세요.
- 공통된 속성을 가진 여러 인터페이스를 조합하여 판별된 유니언(Discriminated Unions)을 구성하는 방법과 이를 통해 얻을 수 있는 타입 안정성의 이점에 대해 설명해 주세요.