본문 바로가기
Today I learned!/오늘 하루 배운 것, 기억할 것

[TS]object,unknown,never,Function 타입

by sweesweet 2023. 4. 25.

object 

*원시 값이 아닌 모든 값을 지칭. 빈 객체 타입{}와 다르고, 전역타입 Object와도 다름.

typescript에서 함수 타입은 object로 간주

 

*원시 값-string, numberbigintbooleansymbolnullundefined

 

unknown

any와 똑같이 어떤 타입의 값도 할당할 수 있지만, any와 달리 unknown 타입은 any와 unknown 타입 이외에 다른 타입을 대입하는 게 유효하지 않음(더 안전)

연산자로  유니온 타입을 만들때 연산자 마다 타입이 다르니 참고하기!

https://github.com/Microsoft/TypeScript/pull/24439

 

New 'unknown' top type by ahejlsberg · Pull Request #24439 · microsoft/TypeScript

This PR adds a new top type unknown which is the type-safe counterpart of any. Anything is assignable to unknown, but unknown isn't assignable to anything but itself and any without a type assertio...

github.com

never

값의 공집합. any타입을 포함해 어떠한 값도 가질 수 없음. 반환 타입에서는 해당 함수가 예외를 발생시키거나, 프로그램 실행을 종료함을 의미

 

Function

전역 타입인 Function은 bind/call/apply , 자바스크립트 함수 값에 있는 다른 프로퍼티를 설명하는 데 사용. Function의 타입은 언제나 호출될 수 있는 값을 가지며 any를 반환

any타입을 반환하기 때문에 임의의 함수를 허용해야 하지만 호출할 생각이 없다면  ()=>void 타입 을 사용하는 것이 일반적으로 안전

 


https://www.typescriptlang.org/docs/handbook/2/functions.html

 

Documentation - More on Functions

Learn about how Functions work in TypeScript.

www.typescriptlang.org

https://ui.toast.com/posts/ko_20220323

 

타입스크립트의 Never 타입 완벽 가이드

타입스크립트의 never 타입은 다른 타입만큼 흔하게 사용되거나 피할 수 없는 것이 아니기 때문에 충분히 논의되고 있지 않다. 타입스크립트 초보자는 조건부 타입 같은 고급 타입을 처리하거나

ui.toast.com