JS 의 근본 prototype 그리고 this

roberto·2022년 6월 22일
0
post-thumbnail

브라우저 단을 개발하는 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는 동적으로 변경된다

참고


profile
medium 으로 이전했습니다

0개의 댓글