Edit in JSFiddle

function Person() {} // 생성자로 사용할 함수 생성
Person.prototype.name = "nam";
Person.prototype.age = 33;
Person.prototype.sayName = function() {
  document.write(this.name);
};

document.write("Object.Keys() 메서드 : <br>");
var key1 = Object.keys(Person.prototype);
document.write(key1 + "<br>"); // name,age,sayName

var person1 = new Person();
var key2 = Object.keys(person1);
document.write(key2.length + "<br>"); // 0 인터스턴 프로퍼티가 없음
person1.name = "sin";
person1.age = 27;
var key3 = Object.keys(person1);
document.write(key3 + " <br>"); // name, age

document.write("<br>Object.getOwnPropertyNames() 메서드 : <br>");
var key4 = Object.getOwnPropertyNames(Person.prototype);
document.write(key4 + "<br>"); // constructor,name,age,sayName [[Enumerable]] false 속성도 볼 수 있다
var key5 = Object.getOwnPropertyNames(person1);
document.write(key5 + "<br>"); // name,age