0
var person = {};
Object.defineProperty(person,"name",{
writable: true,
configurable: false,
value: "Sahand"
});
alert(person.name); // "Sahand"
person.name = "Mahmoud";
alert(person.name); // "Mahmoud"
Object.defineProperty(person, "name", {
writable: false
});
person.name = "Sandra"; // "Mahmoud"
alert(person.name);
Object.defineProperty(person, "name", { // Error
writable:true
});
person.name = "Sahand";
이 코드에서 defineProperty()
은 호출 된 처음 두 번 올바르게 작동하지만 세 번째 오류가 발생합니다. 이것은 객체가 defineProperty()
호출에서 configurable:false
을 호출하면 연속적으로 호출하면 오류가 발생한다고 생각했기 때문에 나에게 혼란 스럽습니다. 대신, 첫 번째는 writable:false
을 설정 한 후 다른 하나는 수행하지 않습니다. 여기 규칙은 무엇입니까? MDN의 Object.defineProperty
docs에서언제 Object.defineProperty()에서 오류가 발생합니까?
[구성 할 수없는 속성 설명 자의 \ [열거 가능 및 \] 쓰기 가능성을 설정할 수있는 이유는 무엇입니까?] (https://stackoverflow.com/q/9829817/1048572) – Bergi