JS对象取值的两种方法

445 阅读1分钟

js对象取值有两种方法:

1.通过点的方式(object.key)
2.通过 [ ] 的方式(object[key])

正常情况下,一般用对象'.'对应的属性名,还有一种是采用‘[]’来获取对应属性的值。

好处是:

  1. 如果事先对象属性的名称未知,或者说调用的属性是动态变化的
  2. 而且这里的属性不存在,也不会报错,只会给出undefined未定义,就可以摆脱点的束缚
  3. 用中括号的方式可以最大程度地提升对象调用属性的灵活度!

在学习vue3响应式原理的时候老师用到了这种方法:

    let person = {
        name:'张三',
        age:18
    }
    const p = new Proxy(person,{
        get(target, propName){
            return target[propName]
            // 用 . 的话说明直接在person中找propName属性
            // 而propName是动态的值,是变量
        },
        set(target, propName, value){
            target[propName] = value
        },
        deleteProperty(target, propName){
            return delete target[propName]
        },      
    })