Skip to content

Udemy/Ts/section5/67: getter/setter #43

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 49 commits into from
Sep 25, 2024
Merged

Udemy/Ts/section5/67: getter/setter #43

merged 49 commits into from
Sep 25, 2024

Conversation

4BFC
Copy link
Member

@4BFC 4BFC commented Sep 23, 2024

✍Udemy/Ts/section5/67: getter/setter

본 PR은 청강 1회독을 마친 후 N회독으로 작성된 PR입니다.
해당 PR을 읽기 전 66번 issue를 읽어보는 것을 권장합니다. 강의 66번은 실습을 하지 않고 개념만 작성한 issue 입니다. 진도를 빠르게 넘어가기 위함이니 #42 를 통해 개념만 익혀두면 관련 설명이 충분합니다. 따라 실습관련 브랜치는 없습니다.

🔗Reference

🔥KeyWord

  • getter
  • setter
  • strictPropertyInitialization

📝Description

  • getter
    • get 키워드를 사용해서 전역으로 할당한 객체를 return하는 방식의 코드를 작성했다. 만약 전역 변수인 lastReport가 비어있다면 throw를 통해서 에러를 발생시킨다.
  • strictPropertyInitialization 활성화
    • ts.config에 현재 strictPropertyInitialization가 활성화가 되어 있어서 수업에서 사용하는 일반적이 방식과는 달리 전역에 정의한 객체가 생성자 함수에서도 사용이 되어야 정상적으로 동작을 한다. 단, lastReport 전역 변수를 초기화했지만 빈 배열을 전달했기 때문에 mostRecentReport를 호출하면 여전히 "No report found." 에러가 발생할 수 있다. 이에 따라 setter를 수업과는 다르게 설정을 해주어야 정상적으로 동작을 한다.
  • setter
    • 앞서 말했 듯 setter는 set 키워드를 사용해서 get에서 조작하고 있는 전역변수 lastReoprt의 값을 부모로부터 할당 받은 addReport인자로 인가받은 값을 push하고 전역 변수에 인자로 인가받은 값을 할당해야 get에서 설정한 Error가 발생하지 않고 정상적으로 동작을 한다.

📌Summary

  • Java에서는 직접 getter와 setter를 함수로 구현했던 방식으로 기억하는데 생각보다 js 클래스는 간단하게 코드를 작성하고 get,set 함수를 사용할 수 있어서 가독성이 높아 보인다. 더 나아가 함수형에서도 get과 set을 사용할 수 없는 것이 조금은 아쉽다.

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 added 18 commits September 2, 2024 15:19
@4BFC 4BFC added the 2회독 회독 label Sep 23, 2024
@4BFC 4BFC added this to the Udemy:TypeScript milestone Sep 23, 2024
@4BFC 4BFC self-assigned this Sep 23, 2024
@4BFC 4BFC requested a review from nyun-nye September 23, 2024 09:06
@4BFC 4BFC linked an issue Sep 23, 2024 that may be closed by this pull request
@4BFC 4BFC merged commit a9004f1 into UdemyTs Sep 25, 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.

Udemy/section5/66: protected
1 participant