Object构造函数常用方法

1、Object.assign()

通过复制一个或多个对象来创建一个新的对象。

const obj = { a: 1 };
const obj2= { b: 1 };
const copy = Object.assign(obj, obj2);
console.log(obj,copy); // { a: 1,b:1 } ,{ a: 1,b:1 }

tips:Object.assign()只能拷贝可枚举属性,为浅拷贝,且目标对象也发生变化。

2、Object.keys()、Object.values()

返回给定对象自身可枚举属性名称、以及可枚举值的数组。

3、Object.create()

使用指定的原型对象和属性创建一个新对象。

var obj;
obj1 = Object.create(null); // 创建一个原型为null的空对象
obj2 = Object.create(Object.prototype);// 以字面量方式创建的空对象
obj3 = Object.create(Object.prototype, {
  // foo会成为所创建对象的数据属性
  foo: {
    writable:true,
    configurable:true,
    value: "hello"
  },
  // bar会成为所创建对象的访问器属性
  bar: {
    configurable: false,
    get: function() { return 111 },
    set: function(value) {
      console.log("Setting `o.bar` to", value);
    }
  }
});
4、Object.defineProperty()、Object.defineProperties()

给对象添加一个、多个属性并指定该属性的配置。

//1、一个的时候:
var obj= {}; 
// 在对象中添加一个属性与数据描述符的示例
Object.defineProperty(obj, "val", {
  value : 11,
  writable : true,
  enumerable : true,
  configurable : true
});
//2、多个的时候:
var obj2 = {};
Object.defineProperties(obj2, {
  'p1': {
    value: 22,
    writable: true
  },
  'p2': {
    value: 33,
    writable: false
  }
});

tips:默认情况下,使用 Object.defineProperty() 添加的属性值是不可修改的。

5、Object.entries()

返回给定对象自身可枚举属性的 [key, va

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值