추론과 명시적 타입 선언
타입 추론은 코드 작성을 보다 간단하게 만들어주지만, 코드를 읽고 이해하기 어려울 수 있으며,
추론이 실패하는 경우가 있어 코드 안정성이 떨어집니다.
반면에, 명시적 타입 선언은 코드를 작성하고 읽는 과정에서 명확히 알려주고 가독성을 높이고, 컴파일시 타입 에러를 사전에 방지해줍니다.
하지만 타입을 명시적으로 선언하는 과정이 번거로울 수 있습니다.
간단한 함수에서는 타입 추론을 사용하고, 복잡한 함수나 인터페이스에서는 명시적 타입 선언을 사용하는등
적절히 선택하는 것이 중요합니다.
근대 그 적절히가 어려운 것 같습니다...
제네릭을 사용하며 명시적인 타입 지정을 할 경우
1. 제네릭을 사용하는 함수나 클래스가 다른 함수나 클래스와 협업하여 동작할 때
타입 추론만으로는 제대로 동작하지 않을 수 있습니다. 이런 경우에는 명시적으로 타입을 지정해주어야 합니다.
Promise 객체를 반환하는 함수를 작성할 때는 Promise의 resolve 값의 타입을 명시적으로 지정해주어야 합니다.
2. 제네릭 타입이 여러 개 사용되는 경우 명시적으로 타입을 지정해주어야 합니다.
React에서 제공하는 React.Component 클래스를 상속받는 경우, 제네릭 타입을 두 개 사용해야 합니다.
이때, 두 개의 제네릭 타입이 서로 다른 타입을 나타내는 경우, 각각의 제네릭 타입을 명시적으로 지정해주어야 합니다.
3. 코드의 가독성을 높이기 위해 명시적으로 타입을 지정해주는 것이 좋을 수 있습니다.
코드가 길어지고 복잡해질수록 타입 추론만으로는 코드를 이해하기 어려울 수 있습니다.
이럴 때는 명시적으로 타입을 지정해주어 코드의 가독성을 높일 수 있습니다.
'JavaScript > TypeScript' 카테고리의 다른 글
[TypeScript] tsconfig.json에 대해서 (0) | 2023.04.11 |
---|---|
[TypeScript] 제네릭 - 인터페이스, 제약 조건 (1) | 2023.04.10 |
[TypeScript] 제네릭(Generic) - 클래스 (0) | 2023.04.10 |
[TypeScript] 제네릭(Generic) - 함수 (1) | 2023.04.10 |
[TypeScript] 클래스와 접근 제어자 (0) | 2023.04.10 |