선생님 타입스크립트 공부하면서 타입스크립트로 만들어진 라이브러리 공부하고 있는데요.
해당 라이브러리 코드에서 이해가 안가는 부분이 있어 올립니다.
-> https://github.com/frysweet/Js_object
위 링크 edit.ts 파일을 보면, (core.ts 에서 가져온 new Core() 사용)
delete 키워드로 함수 class 안, constructor 바깥에서 작성한 exportAPI 함수를 지웠는데요.
클래스 안의 함수를 삭제 했으니 그로부터 만들어지는 자식(객체)도 삭제된 함수를 사용하지 못해야 하는거 아닌가요?
그런데 생성한 인스턴스의 costructor 안 this.isReady를 보면
this.isReady = Module.isReady.then(() => {
this.exportAPI(Module);
onReady();
});
식으로 delete 로 삭제한 exportAPI 함수를 사용하고 있는데,
-> 그 이유가 delete 키워드로 삭제한 코드 줄이 오기전에 먼저 constructor 안에서 만들어진 this.ready 프로미스 에 연결된 .then() 에 'exportAPI' 를 넣으면, 해당 클래스의 prototype 에 저장되기 때문에, Class 에서 삭제를 해도, 사용할 수 있는걸까요?
-> 또 굳이 이 코드에서 delete 키워드를 사용해서 해당 함수를 삭제하는 이유가 궁금합니다.