[Typescript] {} 와 Object

Bewell·2024년 2월 29일
0
const x: {} = 'hello'
const y: Object = {}
/**
 * {}와 대문자 Object는 모든 타입을 정의한다 (null과 undefined 제외)
 */

const z: object = '123'
const a: object = {a: 1}
/**
 * 소문자 object로 객체 타입을 정의할 수 있지만, interface, type, class로 사용 권장한다.
 */







const z: unknown = 'hi'

if (z) {    //  z: unknown
    z;      //  z: {}    
} else {
    z       //  z: unknown
}


여기서 20라인의 변수 z의 타입이 const z: {}로 나오는 이유는, z의 타입이 unknown, 결국 모든 타입이라는 의미이기 때문에 {} = 모든 타입으로 추론된다.

  • unknown타입은 {}(모든타입) | null | undefined이 합쳐진거라 이해할 수 있다

0개의 댓글