//아래 코드가 더글라스 크락포드가 제시한 함수를 이용해서 method를 정의해서 만든 방법
Function.prototype.method = function(name, func) {
this.prototype[name] = func;
}
function Person(arg) {
this.name = arg;
}
Person.method(“setName”,function(value){
this.name = value;
});
Person.method(“getName”,function(){
return this.name;
});
var me = new Person(“me”);
var you = new Person(“you”);
console.log(me.getName());
console.log(me.setName());
//일반적인 prototype에 setName,getName 과 같은 메소드 등록방법
function Person(arg) {
this.name = arg;
}
Person.prototype.getName = function() {
return this.name;
}
Person.prototype.setName = function(value) {
this.name = value;
}
위에 두 코드의 차이점은 제가 생각하기에 단순히 Function.prototype에 메소드를 등록후 method()를 사용해서 메소드를 만드느냐 아니면 아래코드처럼 Person.prototype에 방식으로 method를 선언하느냐 차이밖에 없는거같은데 다른이유가있나요?
혹시 제가 생각하는게 틀렸다면 답변주시면 감사하겠습니다~^^