천진난만 코딩 스토리

2023.05.25) 타입스크립트의 타입 (3) 본문

TIL(Today I Learned)

2023.05.25) 타입스크립트의 타입 (3)

Wisdom_1104 2023. 5. 25. 17:30

1. unknown

any 타입과 동일하게 모든 값을 허용하지만, 할당된 값이 어떤 타입인지 모르기 때문에 함부로 프로퍼티나 연산을 할 수 없다.

unknown 타입으로 변수를 정의하면 '변수의 타입이 unknown이라 어떤 값이든 올 수 있기에 엄격하게 검사'하도록 한다.

 

  • unknown과 any 비교
unknown any
모든 타입을 허용합니다.
프로퍼티 또는 연산을 하는 경우 컴파일러가 체크한다.
-> 문제 되는 코드를 미리 예방할 수 있다.
TypeScript에서 타입 검사를 느슨하게 한다.
-> 개발 당시에는 문제가 없으나
    애플리케이션 또는 웹 페이지 개발 후
    예기치 못한 문제가 발생할 가능성이 매우 높다.

 

2. void

void는 아무것도 return하지 않는 함수를 말한다.

보통은 따로 void라는 것을 지정해주지 않는다.

 

 

3. never

많이 사용하지는 않는다.

never는 함수가 절대 return 하지 않을 때 발생한다.

예를 들어, 함수에서 exception(예외)가 발생했을 경우가 있다.

// return하지 않고 에러를 발생시키는 함수
function hello():never{
	throw new Error("xxx")
}