該方法是es5的方法(千萬不要覺得是es6的哦),做用是直接在一個對象上定義一個新屬性,或者修改一個對象的現有屬性, 並返回這個對象。(切記只能用在對象身上不能用在數組身上)es6
Object.defineProperty(obj, prop, descriptor)複製代碼
修改某個屬性的值時,給這個屬性添加一些特性。typescript
let person = {};
Object.defineProperty(person, 'name', {
writable: true || false,
configurable: true || false,
enumerable: true || false,
value:'gjf'
});
複製代碼
屬性詳解:數組
let person = {};
let n = 'gjf';
Object.defineProperty(person, 'name', {
configurable: true,
enumerable: true,
get() {
//當獲取值的時候觸發的函數
return n
},
set(val) {
//當設置值的時候觸發的函數,設置的新值經過參數val拿到
n = val;
}
});
console.log(person.name) //gjf
person.name = 'newGjf'
console.log(person.name) //newGif複製代碼