一道面试题,设置一个对象,不能给这个对象添加或者删除属性,说一下解决方法!下面给大家简单介绍一下用到的几种JS方法!
1、Object.defineProperty() 2、Object.seal() 3、Object.freeze() 4、Proxy
利用Object.defineProperty()示例:
const object1 = {}; //不填写属性数据描述符的前提下,获取生成的描述符默认值 Object.defineProperty(object1, 'property1', {}); console.log(Object.getOwnPropertyDescriptor(object1, 'property1'))
输出结果:
//默认值分别是false和undefined { configurable: false enumerable: false value: undefined writable: false }
利用Object.seal()示例:
const obj = { name: "小米" }; Object.seal(obj); Object.getOwnPropertyDescriptors(obj);
输出结果:
//默认值分别是false和undefined { name: configurable: false //变false enumerable: true value: "小米" writable: true }
js封印对象,利用Object.preventExtensions()方法使其不能拓展属性
javascript根据相同id合并形成child子数组(支持低版本浏览器)
上面是“面试题:js如何设置对象,不能给这个对象添加或者删除属性”的全面内容,想了解更多关于 js 内容,请继续关注web建站教程。
当前网址:https://m.ipkd.cn/webs_13992.html
声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!