javascript Object构造函数的方法

1 Object.assign()

通过复制一个或者多个对象的所有可枚举属性来创建一个新的对象,返回目标对象。

浅拷贝:只复制引用,不复制对象本身

 let obj1={a:0,b:{c:0}}
 let obj2=Object.assign({},obj1)
 console.log(JSON.stringify(obj2)) // {"a":0,"b":{"c":0}}
 
 obj1.a=1
 console.log(JSON.stringify(obj1)) // {"a":1,"b":{"c":0}}
 console.log(JSON.stringify(obj2)) // {"a":0,"b":{"c":0}}

 obj2.a=2
 console.log(JSON.stringify(obj1)) // {"a":1,"b":{"c":0}}
 console.log(JSON.stringify(obj2)) // {"a":2,"b":{"c":0}}
 
 obj1.b.c=3
 console.log(JSON.stringify(obj1)) // {"a":1,"b":{"c":3}}
 console.log(JSON.stringify(obj2)) // {"a":2,"b":{"c":3}}

 obj2.b.c=4
 console.log(JSON.stringify(obj1)) // {"a":1,"b":{"c":4}}
 console.log(JSON.stringify(obj2)) // {"a":2,"b":{"c":4}}
2 Object.create()

使用指定的原型对象和属性创建一个新对象。
在这里插入图片描述

 let obj1={a:0}
 let obj2=Object.create(obj1)
 obj2.a // 0
3 Object.defineProperty()

直接在一个对象上定义一个新属性,或者修改一个对象的现有属性, 并返回这个对象。
语法

Object.defineProperty(obj,prop,descriptor)
4 Object.entries()

返回一个给定对象自身可枚举属性的键值对数组,其排列与使用 for…in 循环遍历该对象时返回的顺序一致(区别在于 for-in 循环还会枚举原型链中的属性)。
在这里插入图片描述

5 Object.getOwnPropertyDescriptor()

返回指定对象上一个自有属性对应的属性描述符。(自有属性指的是直接赋予该对象的属性,不需要从原型链上进行查找的属性

Object.getOwnPropertyDescriptor(obj, prop)

在这里插入图片描述

6 Object.getOwnPropertyNames()

返回一个由指定对象的所有自身属性的属性名(包括不可枚举属性但不包括Symbol值作为名称的属性)组成的数组。
在这里插入图片描述

7 Object.getOwnPropertySymbols()

返回一个给定对象自身的所有 Symbol 属性的数组。

8 Object.getPrototypeOf()

返回指定对象的原型(内部[[Prototype]]属性的值)。

9 Object.setPrototypeOf()

设置对象的原型(即内部 [[Prototype]] 属性)。

10 Object.values()

返回给定对象自身可枚举值的数组。

参考链接 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值