[JS] 클래스 이해하기 (2)

고쥐·2024년 8월 10일

getter, setter 이해하기

클래스

  • 생성자 : new 키워드로 객체 생성 시 호출되는 함수

(주의!) 클래스 내부에서 함수를 정의할 때

  • 잘못된 예시 ❌ (문법 에러 발생)
  • 올바른 예시 ⭕️

궁금증

  • 함수를 this.name 처럼 정의하면 안 될까? 함수라서 꼭 괄호를 달고 호출하듯 불러야만 하는걸까 ?

해결

  • 꼭 함수 호출하듯 불러야 하는 것은 아님!

  • 아래와 같이 사용이 가능

    그러나, 문제가 되는 경우가 존재함

    문제 : 생성자는 한 번 생성된 이후 업데이트되지 않기 때문에 수정한 내용이 반영되지 않음! 수정 사항이 반영되어 결과가 나타나도록 만들고 싶다면 함수를 사용해야 함

    그래서 사용하는 것이 바로 접근자 프로퍼티 (Accessor Property)

    함수 앞에 get을 붙이면 함수를 호출하듯 ()괄호를 붙이지 않아도 값을 나타낼 수 있게 됨!

주의

접근자 프로퍼티는 arrow function 의 형태로 나타낼 수 있을까?

정답 : 불가능
arrow function으로 나타내게 되면 유효한 메서드로 인식하지 못 하여 SyntaxError을 발생시킴!

profile
미래의 고쥐를 위한 아하모먼트 기록 🥔

0개의 댓글