-
Notifications
You must be signed in to change notification settings - Fork 0
10주차 질문
지권 edited this page Dec 14, 2025
·
4 revisions
- 클래스 선언과 생성자 함수 선언은 모두 호이스팅되지만, 실제 동작이 다른 이유를 설명하시오.
- 클래스 선언은 호이스팅되지만 TDZ에 의해 선언 전에 접근할 수 없다.
- 반면 생성자 함수 선언은 완전히 호스팅되어 선언 이전에도 호출이 가능하다.
- 클래스에서 정의한 메서드는 기본적으로 프로토타입에 저장된다. 이때 클래스 메서드가
[[Enumerable]]: false로 설정되는 이유를 설명하시오.- 클래스 메서드를 열거 불가능하게 설정하여
for...in이나Object.keys에서 노출되지 않게 하기 위함이다. - 이를 통해 객체의 데이터 프로퍼티 순회 시 메서드가 섞이는 것을 방지한다.
- 클래스 메서드를 열거 불가능하게 설정하여
- 정적 메서드(static method)와 프로토타입 메서드의 차이를 설명하시오.
- 정적 메서드는 클래스 자체에 바인딩되어 인스턴스 없이 호출된다.
- 프로토타입 메서드는 인스턴스를 통해 호출되며, 모든 인스턴스가 공유한다.
- 클래스에서 접근자 프로퍼티는 자체적으로 값을 갖지 않고 다른 데이터 프로퍼티의 값을 읽거나 저장할 때 사용하는 접근자 함수로 구성되어 있는데 정확히 어떤 함수인가요? (2개)
- 접근자 프로퍼티는 값을 반환하는
getter함수와 값을 설정하는setter함수로 구성된다. - 자체 저장 공간은 없고 내부 데이터 프로퍼티를 간접적으로 조작한다.
- 접근자 프로퍼티는 값을 반환하는
- 클래스에서 인스턴스 프로퍼티는 기본적으로 public하다 (o/x)
- O
- 클래스로 선언한 인스턴스 프로퍼티는 기본적으로 public이며, 명시하지 않는 한 외부 접근이 가능하다.