NULL
자바스크립트 this, 메소드 본문
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는 바인드된 속성을 가리킨다.
'Front-end > Vanilla JS' 카테고리의 다른 글
자바스크립트 DOM 개념 및 탐색 (0) | 2021.12.21 |
---|---|
자바스크립트 프로퍼티(Property) & 메서드(Method) (0) | 2021.12.21 |
자바스크립트 shadowing (0) | 2021.12.21 |
자바스크립트 scope 개념 (0) | 2021.12.21 |
javascript do while문 (0) | 2021.12.08 |
Comments