TypeScript Quiz - type vs interface, generic
1. TypeScript를 사용하는 이유에 대해 설명해주세요.
- TypeScript는 정적 타입을 지원하므로 컴파일 단계에서 오류를 포착할 수 있다는 장점이 있습니다.
- 명시적인 정적 타입 지정은 개발자의 의도를 명확하게 코드로 기술할 수 있으므로, 코드의 가독성을 높이고 예측할 수 있게 하여 디버깅이 쉽습니다.
- TypeScript는 IDE에 타입 정보를 제공함으로써 높은 수준의 intelliSense, 코드 어시스트, 타입 체크, 리팩토링 등을 지원받을 수 있습니다.
2. Type 과 Interface의 차이점에 대해 설명해주세요.
- interface는 extends 키워드를 사용하여 확장하고, type은 intersection & 연산자를 사용하여 확장합니다.
- interface는 속성 추가를 위해 같은 interface를 병합할 수 있지만, type은 선언할 후 변경할 수 없고 같은 이름으로 중복 선언을 할 수도 없습니다.
- interface는 객체의 구조를 선언하는데만 사용됩니다. 반면에 type은 원시값을 다른 이름으로 선언할 때도 사용됩니다.
2.1 둘 중 무엇을 주로 사용하시는지와 그 이유에 대해 설명해주세요.
- 저는 type을 주로 사용합니다.
- 그 이유는 type에서는 계산된 값을 사용할 수 있고, IDE에서 미리보기 지원이 더 자세히 잘 되기 때문입니다. 그리고 같은 이름으로 중복 선언할 수 없으므로 원치 않은 선언 병합을 막아줍니다.
3. 제네릭에 대해 설명해주세요.
- 제네릭은 타입간의 관계를 설명하기 위한 타입입니다.
- 함수에서 사용할 경우 매개변수의 괄호 앞에서 홑화살표 괄호<>를 사용하여 제네릭 매개변수를 선언합니다.
- 선언한 제네릭 매개변수는 각 구조체 내부에서 사용할 수 있습니다.
- 제네릭 매개변수의 타입이나 기본값을 설정할 수 있습니다.
3.1 제네릭을 언제 사용하나요?
- 코드로 호출되는 방식에 따라 다양한 타입으로 작동하기를 원할 때 사용합니다. 예를 들어 Data fetching API, 프로미스, 데이터의 성공 또는 오류 결과를 나타낼 때 사용할 수 있습니다.
참고