본문 바로가기

Programming Practice/Javascript

prototype

1. instance 생성과 prototype

1) 객체 인스턴스

ㄱ. 객체 청사진으로서의 prototype

: 객체에서는 프로토타입 객체의 변수와 메서드를 사용할 수 있다.

ㄴ. 생성자 함수의 프로퍼티가 프로토타입의 프로퍼티에 우선한다.

ㄷ. 생성자 함수의 prototype 프로퍼티는 prototype 객체를 참조 → 실시간 update 가능 

   (다른 언어에서는 찾기 어려움)

2) 상속과 prototype chain

상속을 하려면 override가 가능해야 한다. 

SubClass.prototype = new SuperClass(); 

SubClass 의 prototype 객체를 SuperClass 객체로 설정한다는 의미. 

SubClass 는 SuperClass의 생성자 함수와 prototype에 지정된 property를 이용할 수 있다. 하지만 위 property의 이름이 SubClass의 생성자 함수에 지정된 property의 이름과 동일하다면, SubClass의 property가 우선한다. 즉 상속의 의미와 같다.

주의) SubClass.prototype = SuperClass.prototype 과 같이 사용하지 않는다. SubClass의 prototype 의 변화가 SuperClass의 prototype 변화에 영향을 준다. 상속의 규칙에 위배된다.




'Programming Practice > Javascript' 카테고리의 다른 글

delegation  (0) 2016.07.31
javascript convention  (0) 2016.07.31
Function  (0) 2016.07.30
테스트 환경 구성  (0) 2016.04.24
즉시실행함수(Immediate function)  (0) 2016.02.10