typescript

23.02.05 왜 super call?

슈팅스타제제 2023. 2. 5. 23:31
Constructors for derived classes must contain a super call

 

super() 을 호출하지 않으면 위와 같은 타입스크립트 에러로 this 로 서브 클래스에 접근할 수 없다. (타스만의 에러는 아님.)

해주면 그럼 뭐 에러는 해결인데 왜 해줘야 하는지 좀 의문..

 

서브 클래스에서 constructor 가 실행될 때, 생성자 함수에서는 슈퍼클래스에 빈 객체를 만들고 this 로 객체 할당해주라고 기다리고 있다. 

그러니 서브 클래스 입장에서는 그냥 못 만들고 super() 을 호출해서 슈퍼 클래스의 constructor 를 실행해야 하는 것이다. 

그러면 비로소 this 객체가 만들어지고 this. 를 사용할 수 있다~!~!

 

'typescript' 카테고리의 다른 글

23.01.29 Access Modifier  (1) 2023.01.30
23.01.29 Union Type  (0) 2023.01.29
22.02.24 default parameter  (0) 2022.02.24
22.02.18 interface extends 안될 때, Omit  (0) 2022.02.20
21.12.23 [typescript] setState props로 넘길 때 Dispatch  (1) 2021.12.23