추론과 명시적 타입 선언

타입 추론은 코드 작성을 보다 간단하게 만들어주지만, 코드를 읽고 이해하기 어려울 수 있으며,

추론이 실패하는 경우가 있어 코드 안정성이 떨어집니다.

 

반면에, 명시적 타입 선언은 코드를 작성하고 읽는 과정에서 명확히 알려주고 가독성을 높이고, 컴파일시 타입 에러를 사전에 방지해줍니다.

하지만 타입을 명시적으로 선언하는 과정이 번거로울 수 있습니다.

 

간단한 함수에서는 타입 추론을 사용하고, 복잡한 함수나 인터페이스에서는 명시적 타입 선언을 사용하는등

적절히 선택하는 것이 중요합니다.

근대 그 적절히가 어려운 것 같습니다...

 

제네릭을 사용하며 명시적인 타입 지정을 할 경우


1.  제네릭을 사용하는 함수나 클래스가 다른 함수나 클래스와 협업하여 동작할 때

타입 추론만으로는 제대로 동작하지 않을 수 있습니다.  이런 경우에는 명시적으로 타입을 지정해주어야 합니다. 

Promise 객체를 반환하는 함수를 작성할 때는 Promise의 resolve 값의 타입을 명시적으로 지정해주어야 합니다.

2. 제네릭 타입이 여러 개 사용되는 경우 명시적으로 타입을 지정해주어야 합니다. 

React에서 제공하는 React.Component 클래스를 상속받는 경우, 제네릭 타입을 두 개 사용해야 합니다. 

이때, 두 개의 제네릭 타입이 서로 다른 타입을 나타내는 경우, 각각의 제네릭 타입을 명시적으로 지정해주어야 합니다.

3. 코드의 가독성을 높이기 위해 명시적으로 타입을 지정해주는 것이 좋을 수 있습니다. 

코드가 길어지고 복잡해질수록 타입 추론만으로는 코드를 이해하기 어려울 수 있습니다. 

이럴 때는 명시적으로 타입을 지정해주어 코드의 가독성을 높일 수 있습니다.

+ Recent posts