날짜 : 2018. 01. 30.(화)
Object.prototype 상속과 공유
들어가기에 앞서
이 포스트는 하단에 있는 링크의 글들을 읽고 정리한 글 입니다. 제 실력이 부족하여 도움이 못 될 경우에는 아래의 링크를 참고해 주시기 바랍니다.
본문
새로나오는 용어
- object cloning : 함수 생성시 발생하는 동작, prototype Object를 생성
- prototype Object : object cloning의 결과로 나온 객체
- __proto__ : 상위의 부모 객체를 가리키는 property
- prototype : prototype Object를 가리키는 property
- constructor : prototype Object가 가지는 property
개념
-
객체 생성 방법으로 리터럴 객체 방식과 new 키워드를 이용한 함수 객체 생성방식, Object 객체를 이용한 방법이 있습니다. 여기서는 함수 객체 생성방식과 관련된 내용을 주로 적습니다. (4번 내용 부터는 공통된 내용 입니다.)
-
함수 객체 생성시
- constructor 자격 부여
- object cloning을 통한 prototype Object 생성 및 함수객체와 연결 이 이루어 집니다.
-
prototype Object는
- __proto__
- constructor 을 가집니다. new 키워드를 사용하여 객체를 생성시 prototype Object의 constructor를 이용하여 객체를 생성하는 것 입니다.
-
기존의 함수 객체는 prototype 이라는 property가 생기면서 prototype Object를 가리킵니다. 그래서 상속을 위해 (함수 객체명).prototype.(property)를 하게 되면 prototype Object에 property가 늘어나게 되고 이를 상속에 이용하는 것 입니다.
-
상속은 정확히 말하면 공유의 형태로 제공이 되며 이것이 가능한 것은 객체의 property를 접근할 때 자신의 객체에 없는 경우 __proto__ 를 통하여 이어져 있는 상위 객체를 찾기 때문입니다.
이것을 알아야 하는 이유
- constructor와 prototype Object가 생기지 않는 경우 (객체).prototype 접근은 불가능한 접근 입니다.
- 공유가 아닌 상속을 하기 위해서는 this 키워드를 이용 해야 합니다.
- 공유의 경우 부모 객체에서 내용이 바뀌면 자식에게 모두 영향이 반영 됩니다.
참고한 사이트
'개발일지' 카테고리의 다른 글
bind와 화살표함수로 this의 남은부분 이해하기 (0) | 2018.02.02 |
---|---|
this를 이해하기 위해서 (0) | 2018.02.01 |
HTML, CSS 기존코드 개선하기 2 - IR 적용 (0) | 2018.01.25 |
HTML, CSS 기존코드 개선하기 01 (0) | 2018.01.22 |
HTML, CSS 학습방법 (0) | 2018.01.21 |