ディスクリプター
プロパティに対する設定値をディスクリプターという
ディスクリプターの種類
▼ ディスクリプター4種
value(値)
configurable(設定変更可能)
enumerable(列挙可能)
writable(値の変更可能)
このディスクリプターの値を設定することでプロパティのとる挙動を変更することができる
.js
const obj = {};
Object.defineProperty(obj, 'prop', {
configurable: true,
value: 0, // {props: 0} の状態になる
writable: true // 値の変更が可能になる
});
obj.prop = 1; // writableがtrueであれば1を代入できる
delete obj.prop; // configurableがtrueであればdeleteできる