// 생성자에서 속성 정의
function Test(a,b) {
//속성 정의
}
// 첫 메소드 정의
Test.prototype.x = function() {}
// 두번째 메소드 정의
Test.prototype.y = function() {}
//객체 생성
let test = new Test(1,2)
// 생성자 속성 정의
function Person(name, age){
this.name = name
this.age = age
}
// prototype을 이용한 Person 메서드 정의
Person.prototype.isAdult = function(){
return this.age>18
}
//객체 생성
const p1 = new Person("a", 26)
const p2 = new Person("b", 16)
console.log(p1) //Person { name: 'a', age: 26 }
console.log(p2) //Person { name: 'b', age: 16 }
console.log(p1.isAdult()) //true
console.log(p2.isAdult()) //false
어떠한 객체가 만들어지기 위해 객체의 모태가 되는 원형
js 는 일반적인 객체지향 언어와는 다르게, 프로토타입을 이용한 복사(Cloning)을 통해 새로운 객체 생성