본문 바로가기
Javascript/Typescript

[Typescript] Any, Void, Null, Undefined 정리

by img 2022. 1. 26.

any

이렇게 일반 javascript처럼 작성해주면

Parameter 'arg' implicitly has an 'any' type.(7006)

위와 같은 에러메시지가 뜬다.

그리고 다음과 같이 : any 라는 타입을 명시해주면 에러메세지가 사라진다. 

any 타입은, 말그대로 모든 타입을 받을 수 있다고 명시해줌으로써 "타입체크를 비활성화" 해주는 역할을 하는데, 그래서 타입스크립트를 사용하는 한 any 타입으로 명시해주는 것은 좋은 방법이 아니라고 할 수 있다. 


void

그리고 function 안에서 return을 선언해주지 않거나, 그저 return; 만 적어준다면 return 타입으로는 :void가 뜰 것이다. 프로그래밍을 하다보면 void라는 단어가 익숙할텐데, 아무 값도 return 해주지 않는다는 의미이다. 


undefined

undefined는 javascript의 undefined와 마찬가지로 아무 값도 할당받지 않은 초기 상태이다. 

그래서 이렇게 number타입으로 변수를 선언해놓고 undefined를 할당하게 되면, 에러가 나게 된다. 

만약 undefined라는 값을 넣어주고 싶다면, | 를 사용해서 위와 같이 넣어줄 수 있다. 지금은 값 자체가 없는 undefined지만 나중엔 해당 변수에 number 타입이 들어갈 것이라는 것을 예상할 수 있다. (아래 참고)


null

null과 undefined가 헷갈릴 수 있는데, null은 명시적으로 "빈 값"을 넣어준 객체 자료형이며, undefined는 선언만 되어있고 값은 초기화 되지 않은 "값 자체가 없다" 는 것을 의미한다.

댓글