채택완료

javascript class질문

Copy
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개

채택된 답변
+20 포인트

의도는 알 수 없지만 

예를 들면

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

역할은 같은거죠.

답변을 작성하려면 로그인이 필요합니다.