자바스크립트 메서드 빌려쓰기
Javascript 2012. 2. 25. 19:38
객체 메서드 빌려 쓰기
-
function Parent(name){
-
this.name = name;
-
};
-
-
Parent.prototype.substr = function(s, e){
-
return this.name.substr(s, e);
-
}
-
-
function method(name){
-
this.name = name;
-
return this;
-
}
-
-
method.prototype.getName = function(s, e){
-
// Parent 객체의 메서드 빌려쓰기.
-
return new Parent().substr.apply(this, [s, e]);
-
}
-
-
alert(new Parent('jsk').substr(0, 1)); // j
-
alert(new method('jsk').getName(1, 1)); // s
모듈을 작성하다보면 어떤 객체의 메서드 한 두 개만 마음에 드는 경우가 있습니다.
이 메서드들을 재사용 하고 싶지만, 해당 객체와 부모-자식 관계까지 만들고 싶지는 않을때
위같은 메서드 빌려쓰기 작성법을 이용하여 원하는 메서드만 골라서 사용할 수 있습니다.
위같은 메서드 빌려쓰기 작성법을 이용하여 원하는 메서드만 골라서 사용할 수 있습니다.
-
function f(){
-
var args = [].slice.call(arguments, 1, 3);
-
-
return args;
-
}
-
-
alert(f(1, 2, 3, 4)); // 2, 3
가장 대표적인 사례를 뽑자면, 위의 코드에서 처럼 함수의 arguments 객체와 [].slice 메서드를 빌려 원하는 매개변수를 골라내는 방법이 있습니다.