关于JavaScript对象的理解-LMLPHP

// ...

var a = {
    title:'初级前端工程师'
}

var b = {
    address'北京中关村'
}

var c = { ...a, ...b}
console.log(c) 
// { title: '初级前端工程师', address: '北京中关村' }





//Object.assign()
var job = {
    title:'高级前端工程师'
}

var salary = {
    wage'22w'
}

var HaiJun = {}

console.log(Object.assign(HaiJun,a,job,salary)) 
//{ title: '高级前端工程师', wage: '22w' }

对象标识类型及相等判断

console.log(Object.is(1,"1")) //false

console.log(Object.is({},{})) //false

console.log(Object.is(+00))   //true

var objA = {
    id:2
}

var objB = {
    id:2
}

console.log(Object.is(objA.id,objB.id)) //true

对象的属性

数据属性

如何修改对象属性默认行为
let obj = {
    code200,
    title'前端自学社区',
}

Object.defineProperty(obj,"code",{
    writablefalse  //禁止修改对象属性 code
})

obj.code = 201


console.log(obj)  // 返回{ code: 200, title: '前端自学社区' }

访问器属性

let obj = {
    code200,
    title'前端自学社区',
}

Object.defineProperty(obj,"mounth",{
    set(newValue){
        if(newValue >3) {
            this.code = 400
        }
    },
    get(){
        return this.code
    }
})
obj.mounth = 4
console.log(obj)  //{ code: 400, title: '前端自学社区' }

读取属性的行为

let obj = {
    code200,
    title'前端自学社区',
}

const des = Object.getOwnPropertyDescriptor(obj,'code')
console.log(des) 
//{ value: 200, writable: true, enumerable: true, configurable: true }
console.log(des.writable) //true



关于JavaScript对象的理解-LMLPHP

React Hook | 必 学 的 9 个 钩子

Vue权限路由思考

Vue 组件通信的 8 种方式

MYSQL常用操作指令

TypeScript学习指南(有PDF小书+思维导图)



关于JavaScript对象的理解-LMLPHP


本文分享自微信公众号 - 前端自学社区(gh_ce69e7dba7b5)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

05-04 21:25