NULL

자바스크립트 this, 메소드 본문

Front-end/Vanilla JS

자바스크립트 this, 메소드

1924 2021. 12. 21. 03:10
function f() {
    console.log(this); // 바인드된 속성을 가리킨다.
    console.log("f is called");
}

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

var o = { name: "obj", method:f, setName:setName};
var o2 = { name: "", setName:setName};

o.setName("obj1"); // // o.setName속성 setName 메소드에 obj1의 값을 전달한다.
o2.setName("obj1");// o2.setName속성 setName 메소드에 obj1의 값을 전달한다.

console.log(o, o2);

 


객체 속성에 함수가 들어가면 그 함수를 메소드라고 부른다.
일반적인 함수 호출 할 때, 해당함수 안에서 사용된 this는 전역객체 ( windows객체 ) 에 바인딩된다.

함수에서 호출되면 윈도우 객체호출됨
객체의 메소드로 함수가 호출되면 오브젝트로 출력된다.

함수를 객체의 속성인 메서드로 저장해두고 this를 사용하면
그 함수안에서 어떤 객체가 해당함수를 호출했는지 접근 할 수 있다.

 

this는 바인드된 속성을 가리킨다.

Comments