아아 누가 나 몰래 뇌주름을 다림질해놨는지
머리가 안굴러간다.
암튼 오늘은 메서드 호출
함수의 객체가 프로퍼티값이면 메서드로서 호출된다.
이 때 메서드 내부의 this는 해당 메서드를 소유한 객체, 즉 해당 메서드를 호출한 객체에 바인딩된다.
var obj1 = {
name: 'Lee',
sayName: function() {
console.log(this.name);
}
}
var obj2 = {
name: 'Kim'
}
obj2.sayName = obj1.sayName;
obj1.sayName();
obj2.sayName();
프로토타입 객체도 메서드를 가질 수 있음.
프로토타입 객체 메서드 내부에서 사용된 this도 일반 메서드 사용방식과 마찬가지로 해당 메서드를 호출한 객체에 바인딩 됨.
function Person(name) {
this.name = name;
}
Person.prototype.getName = function() {
return this.name;
}
var me = new Person('Lee');
console.log(me.getName());
Person.prototype.name = 'Kim';
console.log(Person.prototype.getName());
하.. 왜케어렵냐
그래도 화이ㅣㅇ팅.................😥
'자바스크립트🔥' 카테고리의 다른 글
ES6 /인스턴스란? (0) | 2021.05.10 |
---|---|
ES6 / 헷갈리는 그 이름 this 3편 / 생성자 함수 호출 (0) | 2021.05.10 |
ES6 / 헷갈리는 그 이름 this 1편 / 함수호출 (0) | 2021.05.09 |
ES6 / 화살표함수 (0) | 2021.05.09 |
ES6 / 클래스 / 3편 / 프로토타입 및 정적 메소드를 사용한 this 바인딩 (0) | 2021.05.07 |