[typescript] 타입 추론의 한계 예시와 명시적 타입 어노테이션의 대안
- 타입 추론의 장단점
- 타입 추론의 한계 예시
- 명시적 타입 어노테이션의 활용
- 명시적 타입 어노테이션을 사용해야 하는 상황
- 결론
1. 타입 추론의 장단점
TypeScript는 타입 추론을 통해 변수의 타입을 추측하여 코드를 간결하게 작성할 수 있도록 도와줍니다. 이는 코드의 가독성과 유지보수성을 높여주는 장점이 있습니다. 하지만 경우에 따라서는 타입 추론만으로는 충분하지 않을 수 있습니다. 이때는 명시적 타입 어노테이션을 사용하여 타입을 직접 명시해주어야 합니다.
2. 타입 추론의 한계 예시
아래의 예시를 통해 타입 추론의 한계를 살펴보겠습니다.
let myVar = 10;
myVar = "Hello World"; // 에러 발생
위 코드에서 myVar
변수는 초기화될 때 10이라는 숫자로 추론되었습니다. 그런데 후에 문자열을 할당하려고 하니 TypeScript 컴파일러는 에러를 발생시킵니다. 이는 타입 추론으로는 변수의 타입을 명확히 추론할 수 없을 때 발생하는 문제입니다.
3. 명시적 타입 어노테이션의 활용
명시적 타입 어노테이션은 변수나 함수의 매개변수, 반환 타입 등을 직접 명시하는 것을 말합니다. 위의 예시를 명시적 타입 어노테이션을 사용하여 수정해보겠습니다.
let myVar: number = 10;
myVar = "Hello World"; // 에러 발생
이렇게 명시적으로 타입을 지정하면 TypeScript 컴파일러가 변수의 타입을 추론하는 것이 아니기 때문에 코드를 더 명확하게 작성할 수 있습니다.
4. 명시적 타입 어노테이션을 사용해야 하는 상황
명시적 타입 어노테이션은 대부분의 경우에는 타입 추론으로 충분하지만, 아래 상황에서 명시적 타입 어노테이션을 사용하는 것이 좋습니다.
- 복잡한 타입 추론이 필요한 경우
- 코드의 가독성을 높이고자 할 때
- 협업 프로젝트에서 다른 개발자가 코드를 이해하기 쉽도록 하고자 할 때
5. 결론
타입 추론은 TypeScript의 강력한 기능 중 하나이지만, 반드시 모든 상황에서 완벽한 해결책은 아닙니다. 때에 따라 명시적 타입 어노테이션을 사용하여 코드의 가독성과 안정성을 높이는 것이 바람직할 수 있습니다.