• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 JavaScript, TS 게시판 delete 로 객체속성 지울때 질문입니다

delete 로 객체속성 지울때 질문입니다

3 글 보임 - 1 에서 3 까지 (총 3 중에서)
  • 글쓴이
  • #15715

    frysweet
    참가자

    선생님 타입스크립트 공부하면서 타입스크립트로 만들어진 라이브러리 공부하고 있는데요.

    해당 라이브러리 코드에서 이해가 안가는 부분이 있어 올립니다.

    ->  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 키워드를 사용해서 해당 함수를 삭제하는 이유가 궁금합니다.

     

     

     

    #15716

    frysweet
    참가자

    잘못 쓴 부분이 있어 수정합니다.

    그런데 생성한 인스턴스의  costructor 안  ->  클래스 constructor 안 

    #15718

    codingapple
    키 마스터

    this.exportAPI(Module); 이 코드를 실행해야

    그제서야 exportAPI라는 함수 안에 있는 코드들도 쭉 실행되고

    마지막으로 delete this.exportAPI;

    이걸 해주기 때문에 사용가능한듯요 

     

3 글 보임 - 1 에서 3 까지 (총 3 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠