Skip to content

Udemy/Ts/section2/19 #23

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

Merged
merged 27 commits into from
Aug 31, 2024
Merged

Udemy/Ts/section2/19 #23

merged 27 commits into from
Aug 31, 2024

Conversation

4BFC
Copy link
Member

@4BFC 4BFC commented Aug 31, 2024

✍Udemy/Ts/section2/19

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

🔥KeyWord

  • Union Type
  • Union Array Type
  • Tuple

📝Description

  • Tuple

    • 튜플은 [number, string]과 같은 방식으로 정의할 수 있으며 일반적인 key,value가 한 쌍이 아닌 index,value로 한 쌍을 이루고 있다. 사살상 이외의 _새로운 타입_을 추가적으로 추가할 수는 없다. push는 튜플에서 허용은 하지만 튜플의 본래의 의니와는 다를 수 있다.
      • 튜플을 추가하는 방법
        • push 사용하기
            let role: [number, string] = [2, 'author'];
            
            role[0] = 3;  // number 타입으로 재할당
            role[1] = 'editor';  // string 타입으로 재할당
          
        • 새로운 튜플 추가
            let role: [number, string] = [2, 'author'];
            
            // role = [3, 'admin', 'user']; // 오류: 길이와 타입이 맞지 않음
            role = [3, 'admin'];  // 허용됨: 길이와 타입이 일치함
          
    • 이외에도 추가하는 방식은 다양하다. 지금은 이정도로만 살펴보면 좋을 듯 하다.
  • Union Type

  • Tuple과 Union Type의 타입 추론 방식의 차이

📌Summary

  • 튜플을 사용하는 방식이 생각보다 많이 까다롭다고 느꼈다. 예전에 파이썬을 공부하면서 몇번 다뤄본적이 있어서 그렇게 낯설지는 않지만 이렇게 타입을 지정하면서 보니 마냥 익숙하지만은 않다. 뿐만 아니라 아직 프로젝트를 하면서 튜플을 사용해야하는 이유와 상황에 놓여본 적이 없어서 더 애매모호 하다고 느껴진다.

4BFC and others added 27 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 Aug 31, 2024
@4BFC 4BFC added this to the Udemy:TypeScript milestone Aug 31, 2024
@4BFC 4BFC self-assigned this Aug 31, 2024
@4BFC 4BFC merged commit 954e5a9 into UdemyTs Aug 31, 2024
4BFC added a commit that referenced this pull request Aug 31, 2024
* 🚩: udemy section2의 14번 강의를 듣고 실습을 했다.

* 🔀: Udemy/Ts/section2/14 (#18)

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱: issue templates 생성

Github에서 작성한 커밋입니다.

* 🌱: pr-template 생성

Github에서 작성한 커밋입니다.

* 🌱: pr-template 수정

Github에서 수정한 커밋입니다.

* 🌱: pr-template 수정

Github에서 수정한 커밋입니다.

* 🚩: udemy section2의 14번 강의를 듣고 실습을 했다.

* 🔀: Udemy/Ts/section15 (#19)

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱: issue templates 생성

Github에서 작성한 커밋입니다.

* 🌱: pr-template 생성

Github에서 작성한 커밋입니다.

* 🌱: pr-template 수정

Github에서 수정한 커밋입니다.

* 🌱: pr-template 수정

Github에서 수정한 커밋입니다.

* 🚩: udemy section2의 14번 강의를 듣고 실습을 했다.

* 🚩: udemy section2의 15강의를 듣고 실습을 했다. 타입 할당과 타입 추론을 학습했다.

* 🔀: Udemy/ts/section2/15 (#21)

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱: issue templates 생성

Github에서 작성한 커밋입니다.

* 🌱: pr-template 생성

Github에서 작성한 커밋입니다.

* 🌱: pr-template 수정

Github에서 수정한 커밋입니다.

* 🌱: pr-template 수정

Github에서 수정한 커밋입니다.

* 🚩: udemy section2의 14번 강의를 듣고 실습을 했다.

* 🚩: udemy section2의 15강의를 듣고 실습을 했다. 타입 할당과 타입 추론을 학습했다.

* 🔀: Udemy/Ts/section2/16 (#20)

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱: issue templates 생성

Github에서 작성한 커밋입니다.

* 🌱: pr-template 생성

Github에서 작성한 커밋입니다.

* 🌱: pr-template 수정

Github에서 수정한 커밋입니다.

* 🌱: pr-template 수정

Github에서 수정한 커밋입니다.

* 🚩: udemy section2의 14번 강의를 듣고 실습을 했다.

* 🚩: 객체와 추론 객체 타입의 차이

* 🐛: object로 타입을 지정하면 일반적인 객체로 접근할 수 없다는 error가 발생한다.

* 🚩: 재활용을 가능한 객체 타입 정의 방법과 객체 정의와의 차이

* 🔀: Udemy/Ts/section2/18 (#22)

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱: issue templates 생성

Github에서 작성한 커밋입니다.

* 🌱: pr-template 생성

Github에서 작성한 커밋입니다.

* 🌱: pr-template 수정

Github에서 수정한 커밋입니다.

* 🌱: pr-template 수정

Github에서 수정한 커밋입니다.

* 🚩: udemy section2의 14번 강의를 듣고 실습을 했다.

* 🚩: Udemy section2의 18번 강의를 듣고 배열 타입을 실습해보고 for of를 통한 타입 추론 방식과 일반 적인 map 방식으로 배열 요소에 접근하는 방법을 실습해봤다.

* 🔀: Udemy/Ts/section2/19 (#23)

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱:  README을 수정

Github에서 수정한 커밋입니다.

* 🌱: issue templates 생성

Github에서 작성한 커밋입니다.

* 🌱: pr-template 생성

Github에서 작성한 커밋입니다.

* 🌱: pr-template 수정

Github에서 수정한 커밋입니다.

* 🌱: pr-template 수정

Github에서 수정한 커밋입니다.

* 🚩: udemy section2의 14번 강의를 듣고 실습을 했다.

* 🚩: tuple은 유니온 타입으로 되어 있어서 두가지 타입으로 재할당 할 수 있다.

* 🐛: tuple이 number와 string으로 구성 되어 있다해서 이와 같이 한 쌍을 구성하면 객체에 접근했을 때 오류가 발생한다.

* 🐛: tuple을 잘못사용하는 예시

* 🚩: 타입추론방식에서 지정해준 방식으로 타입 객체로 할당했을 때 role은 tuple로 인정하지 않고 유니온 타입 배열로 인식한다.

* 🚩: 전역상수를 이용한 role의 값 변경하기

* 🐛: error TS2367 role: Role.ADMIN이 TS에선 변하지 않아야 하는 값으로 인식하면서 발생한 에러

* 🚩: enum에 값을 할당해서 +1씩 증가하게 되며 원하는 초기값으로 할당이 가능하다.

* 🚩: number 타입 뿐만 아니라 string 타입으로 초기화할 수 있다.
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