본문 바로가기
JavaScript

[JavaScript] Prototype

by lvd-hy 2023. 3. 15.
반응형
  • 프로토타입
    • 원형 객체를 의미하며, JavaScript는 프로토타입 기반 언어
    • Human이라는 클래스와 인스턴스, 그리고 프로토타입의 관계
class Human {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }
  sleep() {
    console.log(`${this.name}은 잠에 들었습니다.`);
  }
}

let kimcoding = new Human('김코딩', 30);

console.log(Human.prototype.constructor === Human); // true
// Human 클래스의 생성자 함수는 Human
console.log(Human.prototype === kimcoding.__proto__); // true
// uman 클래스의 프로토타입은 Human 클래스의 인스턴스인 kimcoding의 __proto__
console.log(Human.prototype.sleep === kimcoding.sleep); // true
// Human 클래스의 sleep 메서드는 프로토타입에 있으며, Human 클래스의 인스턴스인 kimcoding에서 kimcoding.sleep으로 사용할 수 있음

반응형

댓글