프로토타입
프로토타입 예제
Array.prototype.each = function(callback) {
for(i = 0; i < this.length; i++) {
callback.prototype = this[i];
new callback(i);
}
};
var test = [ { name : 'a' }, { name : 'b' }, { name : 'c' } ];
test.each(function(index) {
alert(index + " = " + this.name);
});
Array |
자바스크립트 내장 클래스 |
each |
콜백 함수의 파라미터를 통해 배열에 포함되어 있는 객체들을 차례대로 호출 |
3,4열 : 함수는 클래스와 같다 그래서 this를 통해 name에 접근 가능하다
기본적으로 인스턴스를 생성하지 않았을 때 프로토타입은 자바스크립트 최상위 Object 클래스를 참조
프로토타입 체인
인스턴스 생성시점부터 최상위 클래스까지 순차적으로 연결 되는 것
생성된 인스턴스는 자신의 클래스(또는 함수) 안에서의 'this'와 동일하다고 생각하면 된다.
프로토타입 체인은 OOP에서의 상속과도 비슷한 개념이라 볼 수 있다.
constructor 프로퍼티
constructor 프로퍼티는 자신의 원형이 되는 클래스를 참조한다.
클래스 내부에서 'new this.constructor();' 처럼 인스턴스를 생성하면 무한루프에 빠지게 된다.
* 출처 : 문학청년님의 강의 정리
'Development > JavaScript' 카테고리의 다른 글
[자바스크립트 완벽 가이드 정리] 타입, 값 , 변수 (0) | 2013.05.03 |
---|---|
[자바스크립트 완벽 가이드 정리] 어휘구조 (0) | 2013.05.03 |
[자바스크립트] 상속 (0) | 2013.05.03 |
[자바스크립트] OOP (0) | 2013.05.03 |
[자바스크립트] 자바스크립트 (0) | 2013.05.03 |