面试题:js如何设置对象,不能给这个对象添加或者删除属性

2024年05月20日 建站教程

一道面试题,设置一个对象,不能给这个对象添加或者删除属性,说一下解决方法!下面给大家简单介绍一下用到的几种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
}

本文链接:http://so.lmcjl.com/news/4968/

展开阅读全文
相关内容