[Js] Prototype

장동현·2021년 5월 1일
0

Javascript

목록 보기
5/6
post-thumbnail

Prototype

  1. js에는 class 개념이 존재하지 않는다.
    • 함수와 new를 통해 클래스를 흉내내는 수준
  2. Es6 문법에는 class 문법이 추가가 됨

Prototype Object && Prototype Link

  1. Prototype Object

    • 객체는 언제나 함수로 생성이됨
    • 우리가 흔히 알고 있는 객체 생성도 함수를 통해 이루어진다고 볼 수 있음
    var obj = {};
    var obj = new Object();
    • Object는 자바스크립트에서 기본적으로 제공하는 함수

    함수가 정의 될 때는 2가지 일이 동시에 일어남
    1. 해당 함수에 Constructor(생성자) 자격 부여
    생성자 자격이 부여되면 new를 통해서 객체를 생성하는 것이 가능하다.
    2. 해당 함수의 Prototype Object 생성 및 연결

    • 생성된 함수는 prototype 속성을 통해 Prototype Ojbect에 접근이 가능
      속성으로 constructor, proto를 가지고 있음
    • prototype 속성은 함수만 가지고 있는 것이 특징이다.
  2. Prototype Link

    • proto 속성은 모든 객체가 가지고 있는 특징이다.
    • proto 속성을 통해 상위 프로토타입과 연결되는 것을 프토토타입 체인(chain)이라고 함
    • 찾고자 하는 속성을 찾지 못하면 상위 porto chain으로 연결된 상위 요소들까지 모두 탐색을 함

참조 : http://insanehong.kr/post/javascript-prototype/

profile
FE 개발자 장동현 입니다 😃

0개의 댓글