// 방법 1
Student.prototype = Person.prototype
// 방법 2
Student.prototype = Object.create(Person.prototype)
Swallow Copy
방법1은 같은 메모리 주소
객체A = 객체B
Deep Copy
방법2는 다른 메모리 주소
객체A =/= 객체B
prototype
인스턴스가 가져야할 함수. 변수X.
일종의 명세서
proto
상위 prototype 객체의 주소값
상속 받은 함수
프로토타입 체이닝
proto===null일 때 까지
메소드를 상속
C.sayHi()를 실행했는데
C의 메소드에 sayHi()가 없으면
proto의 메소드로 거슬러 올라가면서 sayHi메소드를 찾아 실행한다.
proto===null일 때 까지
e.g. object.prototype.toString
call과 apply를 활용하면 같은 이름의 메소드가 있어도 더 상위의 proto에 있는 메소드를 실행시킬 수도 있다.
new
빈 객체{} 리턴