목적 배경지식 Person이라는 객체를 상속받아 Student라는 객체를 만들려고 한다. 상속을 공부하려면 프로토타입과 프로토타입 체이닝에 대한 이해가 있어야 한다. https://wouldyou.tistory.com/30 [javascript] 프로토타입 체이닝이란? 결론 프로토타입 체이닝이란, 자신에게서 먼저 프로퍼티를 찾고 없으면, [[prototype]]링크가 가리키는 객체에서 찾는 것을 말한다. [[prototype]]링크가 가리키는 객체에도 없으면 그 객체의 [[prototype] wouldyou.tistory.com javascript의 상속 javascript에서의 상속은 [[prototype]]의 연결로(프로토타입체이닝) 구현된다. 아래와 같이 Person과 Student객체가 있다. 우..
결론 프로토타입 체이닝이란, 자신에게서 먼저 프로퍼티를 찾고 없으면, [[prototype]]링크가 가리키는 객체에서 찾는 것을 말한다. [[prototype]]링크가 가리키는 객체에도 없으면 그 객체의 [[prototype]]링크가 가리키는 객체에서 찾는 것을 반복하기 때문에 체이닝이라는 표현을 쓴다. javascript는 프로토타입 체이닝을 통해 부모의 메소드와 속성에 접근 할 수 있도록 한다. const obj = { a : "", b : "" }; if(obj.hasOwnProperty("c")){ obj.c = "c"; } console.log(obj); // obj에는 c라는 속성이 없으므로 obj는 바뀌지 않는다. 이 코드는 obj라는 객체에 있는 hasOwnProperty라는 메소드에 접근..
프로토타입 JavaScript는 프로토타입 기반 언어(prototype-based language)이다. 프로토 타입 기반 언어라는 것은 모든 객체들이 메소드와 속성들을 상속 받기 위한 템플릿으로써 프로토타입 객체(prototype object)를 가진다는 의미이다. [[prototype]] 링크 자바스크립트의 모든 객체는 자신의 부모인 프로토타입 객체를 가리키는 참조 링크 형태의 숨겨진 프로퍼티가 있다. ECMA Script에서는 이러한 링크를 implicit prototype link(암묵적 프로토타입 링크)라고 부른다. 이 링크를 [[prototype]]이라고 표현한다. prototype 모든 객체는 자신을 생성한 생성자 함수의 prototype 프로퍼티가 가리키는 객체를 자신의 [[prototyp..