// 생성자 패턴으로 매개변수를 받고, 속성을 정의합니다. function Person(name, age) { this.name = name; this.age = age; this.friends = ["lee", "park"]; } // 프로토타입 패턴으로 메서드를 정의 합니다. Person.prototype = { constructor: Person, sayName: function() { document.write(this.name); } } Object.defineProperty(Person.prototype, "constructor", { enumerable: false }); var person1 = new Person("nam", 33); var person2 = new Person("sin", 27); person1.friends.push('choi'); // person1.friends에 choi를 추가 document.write(person1.friends + "<br>"); // lee,park,choi document.write(person2.friends + "<br>"); // lee,park document.write(person1.friends == person2.friends); // false 속성은 다름 document.write("<br>"); document.write(person1.sayName == person2.sayName); // true 메서드는 같음