티스토리 뷰

Goal

 - any 타입이란?

 - any 타입 선언을 지양해야 하는 이유

 - any 타입을 사용해야 하는 상황과 에러 검출

1. any 타입이란?

타입스크립트에서 any는 어원 그대로 any를 타입으로 선언한 곳에는 어떤 타입이든 올 수 있다는 것을 의미한다.

let a: any = 'string' // any타입에 string 할당 가능 
let b: any = ['array'] // any타입에 Array 할당 가능 
let c: any = a + b // string과 Array를 더하고 있지만 에러가 발생하지 않음.

타입스크립트에서 컴파일 할때 모든 변수에는 타입이 있어야 한다. 이때 타입을 지정해주지 않거나 값이 명확하지 않은 상황에서는 any를 기본타입으로 가정한다.

2. any 타입 선언을 지양해야 하는 이유.

any를 선언하면 어떤 타입이든 넣을 수 있기 때문에 간편해 보이지만 필수적인 상황이 아니라면 사용하지 않는 것이 좋다.

 

왜 그럴까? 타입스크립트의 존재 이유를 알면 간단하다. 타입스크립트는 타입을 명시하여 프로그램이 유효하지 않은 작업을 수행하지 않도록 방지한다.

타입스크립트의 타입 검사과정을 무시할셈이냐..!

any를 선언하면 javascript처럼 코드가 어떤 연산을 할지, Number 타입이 Array관련 함수를 호출하는지 예측할 수 없게되고 프로그램의 안정성을 떨어뜨리게 된다.

3. any 타입을 사용해야 하는 상황과 에러 검출

any의 사용을 지양해야하지만, 어떤 타입의 값이 들어올 줄 모르고, 타입을 선언하기 어려운 케이스라면 그때는 any와 같이 모든 타입의 값을 받을 수 있는 unknown타입을 지정해 주는 것이 좋은 코딩 방법이다.

댓글