prototype

오주형·2023년 1월 28일
0
  • 자바스크립트의 클래스 문법(ES6)은 prototype을 기반으로 구현 되어있다.
function User(first, last) {
  this.firstName = first
  this.lastName = last
}

User.prototype.getFullName = function () {
  return `${this.firstName} ${this.lastName}`
}

const ju = new User('Ju', 'Oh');
const lisa = new User('Lisa', 'Oh');

console.log(ju); // ‣ User {firstName: 'Ju', lastName: 'Oh'}
console.log(lisa); // ‣ User {firstName: 'Lisa', lastName: 'Oh'}

// console에서 prototype 열어보면 getFullName이라는 함수가 들어가 있다.
// 이 함수는 User라는 함수의 prototype으로 등록이 된 메소드이고, (내부에 내장이 됨)
// User라는 생성자 함수에서 반환 된 인스턴스 객체(ju, lisa)에서는
//  언제든지 prototype에 등록이 되어 있는 메소드를 쓸 수 있다.

console.log(ju.getFullName()); // Ju Oh
console.log(lisa.getFullName()); // Lisa Oh
profile
곧 개발자

0개의 댓글