
- 프로토타입
재활용 - 자기가 갖고있으면 좋을 데이터와 메소드만 가지고있고, 공통적으로 사용될 만한 것을 상위객체에 만들어 놓는다.
- 자바스립트 Foo함수
- Foo함수는 객체로 만들어져 있어서
__proto__속성을 가지고있다.
- Foo.prototype이라는 속성도 가지고 있다. Foo함수 그 자체를 가르킨다.
- new연산자를 통해서 함수의 일반 객체를 만들면 아래 처럼 생성될 객체의
__proto__속성과 Foo.prototype을 연결 시킨다.
4.f객체를 콘솔하면 name 속성 밖에 없지만 f.lastname을 콘솔하면 "우와"가 나온다.
그 이유는 Foo함수this.__proto__에 Foo.prototype이 연결 되어있고 동적바인딩으로 Foo.prototype.lastname 속성이 추가되었다
요즘은 prototype은 잘 안쓰이고 class를 더 많이 쓴다. 하지만 class가 함수의 프로토 타입 메커니즘을 이용하기 때문에 이해를 해두는 것이 필요하다한다.