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