javascript class질문

javascript class질문

QA

javascript class질문

본문


function test(){
    this.method = function(){
          alert('123');
    }
    function name(){
        test.method;
        test.this;
    }
}
var obj = new test();

 

test라는 class를 만들고

 

this와 function을 만들었는데

 

this와 this / function과 function은 서로 호출이 되는데

 

function에서 this는 호출이 안됩니다.

 

this와 function의 차이는 무엇이고 왜 호출이 안될까요?

 

이 질문에 댓글 쓰기 :

답변 1

의도는 알 수 없지만 

예를 들면

function test(name){
    this.name = name;
}

test.prototype.sayName = function(){
          alert(this.name);
}

let obj = new test('Hongildong');
obj.sayName();

 

이렇게 작성하시거나 다음처럼 작성해 사용하셔야 겠네요.

class Test {
    constructor(name) {
        this.name = name;
    }
    sayName() {
        alert(this.name);
    }
}
let obj = new PersonClass("Hongildong");
obj.sayName();

 

그리고

클래스에서 this는 new연산자로 생성된 객체를 나타내고 여기서는 obj.

클래스 내의 function은 말 그대로 함수입니다. 물론 메서드라고 불리지만

역할은 같은거죠.

답변을 작성하시기 전에 로그인 해주세요.
전체 0 | RSS
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT