Skip to content

Conversation

4BFC
Copy link
Member

@4BFC 4BFC commented Sep 2, 2024

✍Udemy/Ts/section2/30

본 PR은 청강 1회독을 마친 후 N회독으로 작성된 PR입니다.

🔗Reference

🔥KeyWord

  • never Type
  • throw

📝Description

  • never Type
    • 🚩: never 타입과 throw함수의 연관성 그리고 사용 방법 예시
    • never 타입은 어떠한 값도 반환하지 않는 함수의 반환 타입을 나타낸다. 이 타입은 함수가 정상적으로 완료되지 않고 항상 예외를 던지거나 무한 루프에 빠져 끝나지 않는 경우에 사용된다. 오해하지 말아야할 것은 literal type으로 확인을 하면 void로 선언이 되어있지만 throw를 사용하면 무조건으로 never가 반환된다. 따라서 암묵적으로 never로 타입을 할당 하지만 never 타입임을 코드에 명시해주는 것이 좋다.
  • throw 문
    • throw문은 사용자가 정의한 error를 실행할 수 있는 코드이다. generateError함수는 throw를 내장하고 있기 때문에 타입이 void가 아닌 never로 타입 할당이 된다. 따라 해당 함수를 console.log로 확인을 하면 error 메세지만 반환하고 이후 log는 실행되지 않는다. 이유는 generateError는 never 타입으로 반환이 되기 때문에 컴파일이 중도 정지가 되는 것이다. 참고로 throw는 try,catch를 사용해도 무시하지 않고 중도 정지가 된다.

📌Summary

  • 일반적인 js를 사용해서 throw가 어떤 타입을 반환하는지 전혀 생각해보지 못한 부분을 알게되었다. throw는 예외처리를 하기위해 자주 사용되면 잘만 사용한다면 품질이 좋은 서비스 제품을 사용자에게 전달할 수 있다. 가능한 프로젝트를 하면서 throw를 잘 활용해보면 좋겠다는 생각을 했다.

4BFC and others added 30 commits August 27, 2024 01:50
Github에서 수정한 커밋입니다.
Github에서 수정한 커밋입니다.
Github에서 수정한 커밋입니다.
Github에서 수정한 커밋입니다.
Github에서 수정한 커밋입니다.
Github에서 수정한 커밋입니다.
Github에서 수정한 커밋입니다.
Github에서 수정한 커밋입니다.
Github에서 수정한 커밋입니다.
Github에서 수정한 커밋입니다.
Github에서 수정한 커밋입니다.
Github에서 수정한 커밋입니다.
Github에서 수정한 커밋입니다.
Github에서 수정한 커밋입니다.
Github에서 수정한 커밋입니다.
Github에서 작성한 커밋입니다.
Github에서 작성한 커밋입니다.
Github에서 수정한 커밋입니다.
Github에서 수정한 커밋입니다.
@4BFC 4BFC added the 2회독 회독 label Sep 2, 2024
@4BFC 4BFC added this to the Udemy:TypeScript milestone Sep 2, 2024
@4BFC 4BFC self-assigned this Sep 2, 2024
@4BFC 4BFC merged commit 17083e7 into UdemyTs Sep 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2회독 회독
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant