Youtube 동영상 테스트
1 | /** |
- 자바스크립트에서 모든 객체는 자신을 생성한 생성자 함수의 prototype 프로퍼티가 가리키는 객체를 자신의 프로토타입 객체(부모객체)로 취급한다.
- 모든 객체에는 proto 가 있다.
- 상속 받아서 사용할 수 있다. (이것을 프로토타입 체이닝 이라 부른다)
- 상속 받을 proto 를 명시적으로 바꿀 수 있다. This 바인딩 (call, apply)
1 | var Person = function(arg) { |
- 생성자 함수를 호출 할 때 빈 객체가 생성된다. (코드 내부에서 this는 이 빈 객체에 바인딩 된다)
- 빈 객체는 생성자 함수.prototype을 가리킨다. __proto__가 생성자 함수.prototype을 가리키는 것이다.
- new를 붙이지 않고 생성자 함수를 호출 할 경우를 대비하여 강제로 인스턴스를 생성하는 패턴도 넣어주었다.
- arguments.callee는 호출된 함수를 가리킨다.