javaScript追加属性

在定义时确定属性,属性是可以被更改或者删除的。

let obj={
    name:"李义新",
    sex:"男"
}

追加属性(第一种)

let obj = {
    name: "李义新",
    sex: "男",
}

Object.defineProperty(obj, "age", {
    value: 100
})

console.log(obj)

 因为age是追加的,所以age的颜色比较浅,而且追加的属性默认情况下是能遍历,删除,修改等操作的。

 添加对应属性后就可以遍历,删除,修改了。

let obj = {
    name: "李义新",
    sex: "男",
}

Object.defineProperty(obj, "age", {
    value: 100,
    enumerable:true,    //控制属性是否可以美剧,默认是false
    writable:true,      //控制属性是否可以被修改,默认值是false
    configurable:true   //控制属性是否可以被删除,默认值是false
})

追加属性(第二种)

获取age属性时会自动调用对应的get方法获取值。

修改age属性时会自动调用对应的set方法修改值。

let xin = 200;
let obj = {
    name: "李义新",
    sex: "男",
}

Object.defineProperty(obj, "age", {
    get(){
        return xin;
    }
    
    set(val){
        xin = val;
    }
})

console.log(obj)