Edit in JSFiddle

// 생성자 패턴으로 매개변수를 받고, 속성을 정의합니다.
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 메서드는 같음