Object对象常用操作

 我来答
机器1718
2022-06-19 · TA获得超过6833个赞
知道小有建树答主
回答量:2805
采纳率:99%
帮助的人:160万
展开全部

主要用于对象的合并,将源对象source的所有可枚举属性合并到目标对象target上

该方法创建一个新对象,使用现有的对象来提供新创建的对象的proto

new Object() 和 Object.create()比较

1、对象创建方式

2、创建空对象时,是否有原型属性

3、对象属性描述符

Object.entries() 返回一个给定对象自身可枚举属性的键值对数组,其排列与使用 for…in 循环遍历该对象时返回的顺序一致(区别在于 for-in 循环还会枚举原型链中的属性)
Object.fromEntries() 方法把键值对列表转换为一个对象。

会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性并指定该属性的配置,并返回此对象。
Object.defineProperty(obj, prop, descriptor)

数据描述符和存取描述符不能同时是两者,如果一个描述符同时拥有 value 或 writable 和 get 或 set 键,则会产生一个异常。(因为get和set设置的时候js会忽略value和writable的特性)

公用
configurable 默认为 false 。
是否可以删除目标属性或是否可以再次修改属性的特性( writable , configurable , enumerable )。设置为 true 可以被删除或可以重新设置特性;设置为 false ,不能被可以被删除或不可以重新设置特性。

enumerable 默认为 false
此属性是否可以被枚举(使用for...in或Object.keys())。设置为true可以被枚举;设置为false,不能被枚举。默认为false。

数据描述符
value 默认 undefined
该属性对应的值。
writable 默认为 false
属性的值 value 是否可以被重写。设置为true可以被重写;设置为false,不能被重写。

存取描述符
get 默认为 undefined
属性的 getter 函数,如果没有 getter ,则为 undefined 。当访问该属性时,会调用此函数。执行时不传入任何参数,但是会传入 this 对象(由于继承关系,这里的 this 并不一定是定义该属性的对象)。该函数的返回值会被用作属性的值。
set 默认为 undefined
属性的 setter 函数,如果没有 setter ,则为 undefined 。当属性值被修改时,会调用此函数。该方法接受一个参数(也就是被赋予的新值),会传入赋值时的 this 对象。

给对象添加多个属性并分别指定它们的配置。
Object.defineProperties(obj, props)

Object.keys() :返回一个由给定对象的自身 可枚举属性 组成的数组,不包括原型链上的可枚举属性
Object.values() :返回一个由给定对象的自身 可枚举属性值 组成的数组,不包括原型链上的可枚举属性值
for...in 循环是 遍历对象的每一个可枚举属性,包括原型链上面的可枚举属性,

返回一个数组,包含对象自身的所有属性(不含 Symbol 属性,不包括原型链上面的,但是包括不可枚举属性)的键名

返回一个数组,包含对象自身的所有 Symbol 属性的键名

返回一个数组,包含对象自身的所有键名,不管键名是 Symbol 或字符串,也不管是否可枚举

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式