function Person() {}
= var Person = new Function();
Person
생성자를 만들면, Person
내에 prototype
이라는 프로퍼티가 생성되고, Person’s prototype(== Person.prototype)
을 만들어서 가리킨다. 그리고 이것은 constructor
는 Person
을 가리킨다. (상호참조)
Person
으로 kim
과 lee
객체를 만든다면, 이것들의 __proto__
라는 프로퍼티는 Person’s prototype
를 가리키게 된다.
kim.sum()
을 호출한다면, 우선, kim
내부를 확인하고, 없다면, __proto__
가 가리키는 곳, 즉, Person’s prototype
의 내부를 확인한다.