함수를 객체의 속성으로 저장하는 경우 이 함수를 메소드라고 부른다.
메소드를 호출할 떄, this 는 메소드를 포함하고 있는 객체에 바인딩된다.
( 즉 this 는 객체 자체가 된다. )
var a = { method : function(){ console.log(this); } } a.method() // { method : ƒ } - this 는 a객체를 가리킨다.
메소드는 this 를 사용하여 자신을 포함하는 객체의 속성을 읽고 수정할 수 있다.
var obj = { name : "gamza", changeName : function( newName ){ this.name = newName; } } obj.name; // gamza obj.changeName("chulsoo"); obj.name; // chulsoo
자신의 객체 문맥을 this 로 얻는 메소드를 퍼블릭( public ) 메소드라고 부른다.