javascript class질문

javascript class질문

QA

javascript class질문

답변 1

본문


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은 말 그대로 함수입니다. 물론 메서드라고 불리지만

역할은 같은거죠.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
  • 질문이 없습니다.
전체 0
© SIRSOFT
현재 페이지 제일 처음으로