日本一区二区三区在线播放-国产视频一-美女黄网站成人免费视频-奇米中文字幕-日本少妇xxxxx-九九精品99-国产人碰人摸人爱视频-欧美亚洲网站-国产艳妇av在线-在线av网站-久久a久久-可以免费看黄色的网站-国产视频一二-在线播放视频高清在线观看-男人的天堂av网站-久久一二三区-欧美日韩综合一区二区

屬性描述符與Proxy的區(qū)別&Vue3.0為何改用Proxy

2020-4-21    前端達人

屬性描述符

什么是屬性描述符?

屬性描述符就是一個屬性除了屬性名與屬性值之外的其他相關(guān)信息

通過Object.getOwnPropertyDescriptor(對象, 屬性名)可以得到一個對象的某個屬性的屬性描述符

let obj = {
    a: 1
}
console.log(Object.getOwnPropertyDescriptor(obj, 'a'));
// {
//     value: 1,
//     writable: true,
//     enumerable: true,
//     configurable: true
// }

通過Object.getOwnPropertyDescriptors(對象)可以得到某個對象的所有屬性描述符

let obj = {
    a: 1,
    b: 2
}
console.log(Object.getOwnPropertyDescriptors(obj));
// {
//     a: {
//         value: 1, 
//         writable: true,
//         enumerable: true,
//         configurable: true
//     }
//     b: {
//         value: 2, 
//         writable: true, 
//         enumerable: true, 
//         configurable: true
//     }
// }


接下來,說一說每一個屬性描述符的作用

value-屬性值

不多逼逼

configurable-屬性描述符是否可被修改

當我們設(shè)置configurable為false以后,再去修改屬性描述符的話,會報錯


let obj = {
    a: 1,
    b: 2
}
Object.defineProperty(obj, 'a', {
    value: 'a',
    configurable: false
})
Object.defineProperty(obj, 'a', {
    value: 'a',
    configurable: true
})
// Uncaught TypeError: Cannot redefine property: a
//    at Function.defineProperty (<anonymous>)



enumerable-該屬性是否可被枚舉

當設(shè)置一個屬性的enumerable為false時,該屬性不可被forin循環(huán)
但是不影響forof循環(huán),因為forof循環(huán)看有沒有Symbol(Symbol.iterator)
forin循環(huán)的是屬性名,forof循環(huán)的是屬性值


日歷

鏈接

個人資料

藍藍設(shè)計的小編 http://www.vcbhc.cn

存檔

当涂县| 高碑店市| 丰原市| 三明市| 伊宁市| 阿鲁科尔沁旗| 福建省| 锡林郭勒盟| 光山县| 南丰县| 台前县| 南安市| 凤冈县| 临潭县| 邯郸县| 涞源县| 富蕴县| 从江县| 丰顺县| 汝南县| 安西县| 普定县| 集安市| 托克托县| 卓资县| 清原| 恩平市| 余姚市| 航空| 西乡县| 开江县| 建瓯市| 乐亭县| 平塘县| 分宜县| 疏勒县| 三亚市| 泰州市| 南投县| 兖州市| 锡林郭勒盟|