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

map 질문

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

    frysweet
    참가자

    선생님 아직 new map() 이나 map.set 등으로 생성되지 않은 map 인데,  안에 데이터가 있는거 마냥 쓰는 코드가 있어, 질문 드립니다.

    위 코드 보시면 A,B,C 모듈 import 해와서 제네릭에 넣어주고, 
    'moduleCollection'은 extends Map<string, V> 다... 라고 되어 있는데요.

    그리고 다른 파일에서는 'moduleCollection'을 import 해서,
    new moduleCollection(); 인스턴스를 생성해서 'moduleCollection' 클래스에 들어있는 메소드를 사용하고 있습니다.

    그런데 이해가 어려운점이..
    아직 map에 아무것도 안들어가 있는 상태에서 사용하는 메소드가
    데이터가 들어있어야 가능한 메소드들이라 이해가 가지 않습니다. 

    'moduleCollection' 클래스의 public get aModule(); 메소드 보시면,
    map 에 아직 아무것도 없는데도,
    Array.form(this.entries())~ 를 사용하고 있어요.

    그리고 다른 파일에서 생성한 인스턴스인 new moduleCollection()도,
     this.aTools.values() 식으로 Map 안에 데이터가 있어야 가능한 values() 메소드를 사용하고 있는데요..

    아무리 찾아봐도 어디서 데이터가 생성된건지 전혀 모르겠습니다.ㅠㅠ

    그리고 Map <S,V> 이런 문법식의 코드가 어떤 원리로 작동되는건지 못찾겠어요...
    MDN 에도 없고 타입스크립트 doc에도 안나오는데 어디서 찾을 수 있을까요??

    #28474

    codingapple
    키 마스터

    함수들은 만든다고 바로실행되지않고 함수(); 해야 안에있는 코드를 실행해줍니다 

    #28542

    frysweet
    참가자

    아래 코드28번줄 보시면,
    1. this.aTools를 실행후 'get aModule()' 를 리턴받아와서  
    2. get aModule() 메소드 실행되어 new moduleCollection<A>(tools) 가 리턴 되는것아닌가요?

    get 메소드는 메소드() 안붙여도 실행되어 리턴 받아오는 걸로 알고 있는데 아닌가요 ㅠㅠ
    그리고 위코드 12번째 줄 this.entries() 랑 아래 코드 28번째 줄 보시면 values() 실행하고 있는데 어느 부분에서 실행에 제동이 걸리는 건지 모르겠습니다 

    ++ 27번째줄 시작점인 prepareTools() 를 인자 안넣어주고 실행하는 코드가 있습니다.
    => preapreTools();

    #28545

    codingapple
    키 마스터

    27번줄도 함수 정의하는 부분이지 아직 실행되진 않은게 아닐까요 

    extends Map은 자바스크립트 기본 Map 클래스를 extends 한다고 쓴 것 같습니다 

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

About

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

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

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