Skip to content

Udemy/ts/section7/96: Genercis with extneds #58

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 41 commits into
base: UdemyTs
Choose a base branch
from

Conversation

4BFC
Copy link
Member

@4BFC 4BFC commented Oct 1, 2024

✍Udemy/ts/section7/96: Genercis with extneds

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

🔗Reference

🔥KeyWord

  • extends

📝Description

  • Generics의 오점과 extneds
  • 🚩: 현재 우리가 설정한 제네릭의 오점을 확인
    • 위 코드를 살펴보면 우리가 의도한 object가 아니여도 일반 적인 number 타입을 작성하면 Ts의 타입추론으로 인해서 U 제네릭은 number 타입으로 추론이 된다. 이로인해서 object 타입이 아니여도 된다는 암무적 규약과 우리의 의도와 달리 사용하게 된다. 즉, 제네릭은 interface와는 달리 매우 유연하고 타입을 타입추론에 의존한다는 것을 재차 확인할 수 있었다.
    • 이럴땐 extneds
    • 🐛: 우리가 의도한 제네릭의 설정으로 인해 발생한 오류 확인
      • object의 형태를 벗어나지 않게 하기 위해서는 위의 코드에서 확인할 수 있듯 extends를 사용해서 object타입을 상속 받아 객체의 형태를 명시하고 고정 시키는게 좋다. 이로인해 우리가 의도 했던 object의 형태를 유지하는 제네릭이 완성된다.

📌Summary

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 Oct 1, 2024
@4BFC 4BFC added this to the Udemy:TypeScript milestone Oct 1, 2024
@4BFC 4BFC requested a review from nyun-nye October 1, 2024 14:45
@4BFC 4BFC self-assigned this Oct 1, 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