front-end/TypeScript

Typescript Narrowing & Assertion

Hoon0211 2024. 2. 21. 11:00
728x90

1. Type Narrowing

1. if문을 활용하여 타입을 정해주는 것을 말합니다.

- typeof 를 사용합니다.( in, instanceof  등  타입을 확정하는 코드면  어떤 것이라도 가능 합니다)

function num(x :number | string){
  if (typeof x === 'number') {
    return x + 1
  } 
  else if (typeof x === 'string') {
    return x + 1
  }
  else {
    return 0
  }
}

 

 

2. Type Assertion

1. 타입을 간단하게 assert 할 수 있습니다.

- 변수에 'as type'으로 변경해주는 역할을 합니다. 

function test(x :number | string){ 
    return (x as number) + 1 
}

 

2. as 키워드 특징  
- as 키워드는 union type 같은 복잡한 타입을 하나의 정확한 타입으로 줄이는 역할을 수행합니다.

- 타입스크립트 기능을 해제하는 기능을 가지고 있습니다.

 

728x90