관리 메뉴

클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지

데코레이터 5 - Method Decorator 본문

웹 · 앱 개발/타입스크립트

데코레이터 5 - Method Decorator

huenuri 2024. 12. 27. 21:59

슬슬 잠이 오려고 한다. 오늘 적어도 2주 차 학습까지 마치고 싶은데 말이다. 


 

 

 

이론 5 - Method Decorator

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

퀴즈 5 - 메서드 데코레이터

 

 

메서드 데코레이터 안에서 메서드를 교체하려면 property descriptor 안에 있는 value 프로퍼티를 새 함수인 decoratorFunc로 변경해야 한다. 그래서 ???에는 decoratorFunc가 들어가야 한다.

 

 

 

 


 

 

 

다시 풀어보기

이 문제는 메서드 데코레이터(function) 안에서 메서드를 바꾸기 위한 코드를 작성하는 것이다. 메서드 데코레이터는 클래스의 메서드에 적용되어, 메서드가 호출될 때 특정한 행동을 하거나 함수에 수정이 필요할 때 유용하다. 이 문제에서는 decoratorFunc라는 새로운 함수를 만들어서 기존 메서드를 바꾸고 싶어 한다. 이렇게 하려면 descriptor.value 속성을 사용해야 한다. descriptor.value는 데코레이터가 적용된 메서드를 가리키기 때문에, 여기에 decoratorFunc를 할당하고, return descriptor;를 통해 새로운 property descriptor를 반환해줘야 한다.

 

 


 

 

 

 

실습 3 - 메서드 데코레이터

 


 

 

index.ts


 

 

types.ts


 

 

 

문제 풀기

viewer에 접근하면 컨텍스트에 접근한 다음에 해야 한다.

 

 

 

 

 

 

코드를 실행하면 오류 메시지가 출력되었다.


 

 

 

 

학습을 마치고

집중이 거의 되지 않아서 내일 이어서 해볼까 하다가 그냥 오늘 하는 것이 나을 것 같아 이어서 진행했다. 무슨 말인지는 진짜 하나도 모르겠다. 10%도 이해하지 못한 채 그냥 코드만 따라서 치는 중이다.

이런 공부가 과연 의미가 있을지 모르겠다.