var person = { name: "Grag" }; document.write(person.name + "<br>"); // Grag Object.defineProperty(person, "name", { writable: false, // 값변경을 못하게 함 value: "John" // John으로 값을 변경 }); document.write(person.name + "<br>"); // John person.name = "Nicholas"; // 값을 변경할 수 없음 document.write(person.name + "<br>"); // John Object.defineProperty(person, "name", { configurable: false, // 변경할 수 없게 함 value: "Michael" // defineProperty()메서드는 값을 변경할 수 있음 }); document.write(person.name + "<br>"); // Michael delete person.name; // 삭제할 수 없음 document.write(person.name + "<br>"); // Michael try { Object.defineProperty(person, "name", { configurable: true, // 변경할수 없기 때문에 예외 발생 value: "Nocholas" }); } catch (err) { document.write(err); }