브라우저 단을 개발하는 JS 개발자로서 JS 의 핵심 기능인prototype을 한번 안집고 넘어갈수 없었다.
추상적인 prototype 개념을 다시 집고넘어가며 es6 부터 도입된 class 문법과 this 까지 복습하고자 글을 쓰게 됬다
Prototype
JS 는 Prototype 을 기반으로 객체지향 프로그래밍을 구현한다
이와같이 class 또한 Prototype을 기반으로 구현된다
프로토타입 구현 ? :
기존의 객체를 복사하여 새로운 객체를 생성 하는 방식
Prototype은 상속을 위해 주로 사용되는데
여기서 "상속"이란 "재사용" 을 의미한다
왜 재사용할까 중복을 줄이기 위해서이다
그럼 어떤식으로 "재사용" 할까?
프로토타입 링크를 통해 원형을 참조하여 "재사용 한다
프로토 타입 링크란 :
자바스크립트의 원시타입 (문자열,숫자,bool,null,undefined)을 제외한 타입은 모두 객체이다
자바스크립트에서 객체는 원형 객체로 부터 생성된다 원형객체로 부터 생성된 객체는 원형객체에대한 프로토 타입 링크("proto")를 갖는다
Prototype vs prototype :
모든 객체는 자신의 프로토타입 객체를 가리키는 [[Prototype]] 을 가지고있다
👉 prototype : 원형 객체 일때만 존제
- 함수객체
👉 proto : 원형을 가르킴- 모든 객체
this
핵심 : 호출자에의해 this는 동적으로 변경된다
Toast UI 프로토타입 : https://ui.toast.com/weekly-pick/ko_20160603
poiemaweb 프로토타입 :https://poiemaweb.com/js-prototype
생활코딩 객체지향: https://opentutorials.org/module/4047/24608