객체의 메서드로 호출할 때 this 바인딩

객체의 프로퍼티가 함수일 경우, 이 함수를 메서드라고 부르며, 이러한 메서드를 호출할 때, 메서드 내부에서 사용된 this해당 메서드를 호출한 객체로 바인딩 된다.

var myObject = {
    name: 'foo',
    sayName: function(){
        console.log(this.name);
    }
};
var otherObject = {
    name: 'bar'
};

otherObject.sayName = myObject.sayName;

myObject.sayName();         // foo
otherObject.sayName();      // bar