Bin's Blog

오늘의 TypeScript 본문

TypeScript

오늘의 TypeScript

hotIce 2023. 5. 8. 17:05
728x90
  • Narrowing
    • Type이 아직 하나로 확정되지 않았을 경우 Type Narrowing 써야한다. 타입을 정한다.
    • typeof 연산자 활용
    • 어떤 변수가 타입이 아직 불확실하면 if 문 등으로 Narrowing 해줘야 조작가능
    • (주의) if문 썼으면 끝까지 써야 안전 else, else if 안쓰면 에러로 잡아줄 수도 있다.
    • Narrowing으로 판정해주는 문법들(현재 변수의 타입이 뭔지 특정지을 수 있기만 하면 다 인정해준다.)
      • typeof 변수
      • 속성명 In 오브젝트자료
      • 인스턴스 instanceof 부모
function 함수(a : string | number) {
  if (typeof a === 'string'){
    return a + "1"
  } else {
  
  return  + 1
}

함수(123);
  • Assertion
    • 아무때나 쓰지말자
    • 언제 쓰나?
      • Narrowing 할 때 쓴다. (Union Type을 하나로 확정하고 싶을때 사용)
        • 절대 타입을 A에서 B로 변경할 때 사용하지말자.
      • 무슨 타입이 들어올지 100% 확실할 때 쓰자.
        • As문법을 쓰면 as number해도 문자를 넣어도 아무일 없음 (이런 버그 캐치 못함)
        • 즉 남이 짠 코드 수정할 대 왜 타입에러가 나는지 모르겠을 때 비상용으로 사용하자.
function 내함수(x :number|string) {

  let array :number[] = [];
  // 왼쪽에 있는 변수를 number로 덮어쓰여요.(if문 필요없어)
  array[0] = x as number;

}

let 이름 :string = "kim";
// Type a -> b (x)
이름 as number;

내함수(123);
728x90

'TypeScript' 카테고리의 다른 글

오늘의 TypeScript  (0) 2023.07.16
오늘의 TypeScript  (0) 2023.05.09
오늘의 TypeScript  (0) 2023.05.05
오늘의 TypeScript  (0) 2023.05.04
오늘의 TypeScript  (0) 2023.05.02