zrch TS youtube 2-1

金秀·2022년 7월 26일
0

TS

목록 보기
5/10

https://www.youtube.com/watch?v=-Rzs2eVrQ0w&t=2564s
2022/07/26

잉여 속성 검사

  • obj를 변수로 빼면 검사를 안함

  • 리턴값 x 는 경우 => void

##!! 함수 리턴 타입 void는
1.함수의 리턴값을 void 선언한 것 - 리턴값을 안 적거나 return; 만 적은 경우!
리턴값 적으면 에러남! => void 리턴값 존재하지 않음을 의미

2.메서드로 선언한 것
리턴값 존재 OK => 다만 리턴값을 사용하지 않겠다는 의미!

  1. 매개 변수로 선언한 void 다르게 생각하기
    리턴값 존재 OK => 리턴값을 사용하지 않겠다는 의미!

declare function=> 타입 선언만 해줄 수 있음

매개변수에서 사용된 void 는 리턴값 있어도 상관하지 않음

unknown이 나오는 가장 흔한 경우

  • 에러가 어떤게 나올지 모르니..! unknown으로 쓰고 타입별로 코드 써주기
  • narrowing이나 assertion 해줘야함!
  • error as Error => TS가 제공하는 기본 error 타입임


타입 간 대입 가능표

  • any와 never가 문제임
  • 빈 배열 type 할당 안하면 never 생김 !조심

Type assertion & narrowing

  • 아래 함수는 문제 없음

  • 타입이 두 개 중에 뭐든 될 수 있으므로 에러남

  • 에러 메시지 길어지면 마지막 줄! 만 봐도 됨

  • 고치기1 => but dangerous!
    Line 4처ㅓ럼 number 아닌 string 넣으면 JS 오류남! => string은 toFixed 사용할 수 X

    as 도 가급적 사용 줄이기!

    unknown 일 때 빼고는 as 쓰지 않기!

  • 고치기2 if 사용하기

  • toFixed는 number일 때만 사용하고, string 보장된 경우에만 charAt 사용!

타입스크립트는 string, array 구분함

37:00

class 타입

  • 타입을 바로 적지 않고 instance를 넣어야함 new

TS if문 타입 추론

  • 속성( a.type) 으로 추론/구분이 잘 됨

  • 값으로 찾기

TS 할당과 코드 할당(타입추론)이 맞지 않으면 never 나옴

객체에는 type 넣는 습관 들여주기 (tagging 하기)

  • 타입 검사 & 코드 사용하기 용이
  • tag가 없으면 차이점을 찾기 => talk 하는 건 human

47:00

커스텀 함수 타입가드

  • 리턴 type에 is => custom type guard 함수 만들어서

  • 사용하기!

  • 타입 가드인지 구분하려면 is 찾기

TS 버전이나 컴파일러 내용에 따라 error 달라질 수 있음

28/07/2022

  • 타입가드 실사용의 예
    isRejected - fail type guard, isFulfilled - success type guard

  • line 11 rejected로 코드쳤는데도 TS에서 넓게 추론함 (settled)


  • rejected 경우만 필요한 경우 line 1사용해서 대입하기
  • rejected 로 추론됨

!! 이렇게 TS가 추론이 이상한 경우에 손대서 고쳐주는 개념으로 코드짜기!

profile
기록하기

0개의 댓글

관련 채용 정보