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

home2 게시판 JavaScript, TS 게시판 class, extends, getter, setter 연습문제 3번 질문드립니다.

class, extends, getter, setter 연습문제 3번 질문드립니다.

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

    MD
    참가자

    class Dog {
       constructor(type, color){
         this.type = type;
         this.color = color;
    }
       getOld(){
          if ( this instanceof Cat) {
              this.age++;
          }
       }
    }

     

    이 때 getOld 함수의 if 의 조건에서 쓰인 this 의 의미가 이해가 잘 안 가서 질문드립니다.

     

    this 키워드 4가지 의미에서 일단 window랑 콜백함수에서 쓰일 때 용도는 아닌 것 같고, object 안에 함수의 주인이나 constructor 로 생성하는 인스턴스를 가리키는 것 중 하나일 것 같다는 생각을 하긴 했는데요. 그런데 현재 getOld함수가 일단 오브젝트 안에 담겨있는 것도 아닐 뿐더러 설사 오브젝트라 보더라도 주인이면 class를 가리키는 것이라 좀 말이 안 되는 것 같고, 그렇다고 또 constructor 바깥에서 쓰인 거 같아서 constructor로 만들어낸 인스턴스를 가리키는 것이라고 하는 것도 좀 이해가 안 갑니다.

     

    어떻게 이해를 해야할까요?

    #25097

    codingapple
    키 마스터

    this는 this담은 함수가 사용될 때 결정됩니다

    getOld()는 class로부터 새로 생성될 자식들이 사용할텐데 그 땐 this가 getOld() 쓰는 자식 object를 뜻할듯요 

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

About

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

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

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