[node.js] 프로토타입

Hyo Kyun Lee·2021년 6월 7일
0

node.js

목록 보기
2/34

1. 기초

  • node.js는 확장자명에서 볼 수 있듯이 JavaScript 언어를 사용한다.
  • Python / C++과 같은 객체지향언어지만, 프로토타입 기반의 언어이다.
    (*Python, C++은 class 기반의 언어)

2. 프로토타입 객체

  • class 기반언어의 경우 객체를 생성하기전에 클래스를 정의하고, 이를 통해 객체(인스턴스)를 생성한다.
  • prototype 기반언어의 경우 객체가 부모객체와 연결되어, 부모객체의 속성과 메소드를 상속받는다.
  • 이때 부모객체를 Prototype 객체 혹은 Prototype이라 부르며, 자신의 속성을 객체에 상속하기위한 prototype 프로퍼티를 소유한다.

3. JavaScript 함수선언시 유의사항

Car 함수선언시 Car에 대한 Prototype이 생성된다.

Car 내부 메소드 접근 및 추가시 아래와 같이 prototype을 통해 접근하거나 새로 선언해준다.

별도의 변수를 통해 Car prototype에 접근해야한다면 new를 붙여 접근을 해야하며, 이때 a는 별도의 prototype을 가지지않는다.

a의 prototype 접근이 완료되었다면, 이후엔 기존 메소드처럼 사용할 수 있다.

function Car(a, b){
    this.name = a;
    this.color = b;
}
Car.prototype.merge = function(){
    console.log(this.name + " " + this.color);
}
console.log(Car("Hi", "world"));
a = new Car("hello", "world");
a.merge();

4. 참조링크

https://poiemaweb.com/js-prototype

5. remind

코드에 대한 이해가 우선이다. sugar syntax보다는 sugar logic!

0개의 댓글