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은 말 그대로 함수입니다. 물론 메서드라고 불리지만
역할은 같은거죠.
답변을 작성하시기 전에 로그인 해주세요.