타입스크립트
- 타입스크립트는 자바스크립트 자료형에서 제시되지 않은 독자적인 타입 시스템을 가지고 있다.
any타입
- 자바스크립트에 존재하는 모든 값을 오류 없이 받을 수 있다.
any타입의 효용성이 있는가?
- any 타입은 타입스크립트로 달성하고자하는 정적 타이핑을 무색하게 만들 수 있다.
- 하지만 any타입을 어쩔수 없이 사용해야할 때가 있는 3가지 사례가 있다.
개발 단계에서 임시로 값을 지정해야할 때
- 추후 값이 변경될 가능성이 있거나 아직 세부 항목에 대한 타입이 확정되지 않았을 경우
- 해당 현상을 통해 타입을 세세하게 명시하는 데 소요시간 절약 가능
- but 지나치게 남발하면 타입 안정성을 저해할 수 있다.
어떤 값을 받아올지 또는 넘겨줄지 정할 수 없을 때
- 자바스크립트 입장에서는 어떤 값의 타입을 명확하게 지정하기 어려운 상황이 발생할 수 있다.
- ex) API 요청 및 응답 처리, 콜백 함수 전달, 타입이 잘 정제되지 않아 파악이 힘든 외부 라이브러리
- 해당 같은 현상일 때 열린 타입(any 타입) 을 선언해야 할 수 있다.
type FeedbackModalParams = {
show: boolean;
content: string;
cancelButtonText?: string;
confirmButtonText?: string;
beforeOnClose?: () => void;
action?: any;
}
- 위와 같은 코드에서 action을 any로 선언하여 모달 창을 화면에 그릴 때 다양한 범주의 액션에 따라 인자의 개수나 타입을 일일이 명시하기 힘들 수 있어 any 타입을 통해 다양한 액션 함수를 전달할 수 있다.
값을 예측할 수 없을 때 암묵적으로 사용
- 외부 라이브러리나 웹 API의 요청에 따라 다양한 값을 반환하는 API가 존재할 수 있다.