开发中对象Object常用方法

entries()

	对键值对遍历,返回的是一个键值对数组
	Object.entries(obj)
 let obj = {
    name: 'kaolin',
    age: 18,
    birthday: '1998-05-20'
  }
  console.log(Object.entries(obj));

在这里插入图片描述

keys()

	对键名遍历,返回的是一个key组成的数组
	Object.keys(obj)

values()

	对键值遍历,返回的是一个键值组成的数组
	Object.values(obj)

assign()

	多个对象拼接最后返回一个对象
	Object.assign(obj1,obj2,boj3)
let obj = {
    name: 'kaolin',
    age: 18,
    birthday: '1998-05-20'
  }
  console.log(Object.assign({},obj,{school: 'university'}));

在这里插入图片描述

create()

	用指定的原型对象和属性创建一个新对象。新对象的隐式原型指向原型对象,但是改变新对象的值时不会
改变原型对象的值
let obj = {
    name: 'kaolin',
    age: 18,
    birthday: '1998-05-20'
  }
  let obj1 = Object.create(obj)
  obj1.age = 19
  console.log(obj.age);  //18
  console.log(obj1.age);  //19

在这里插入图片描述

defineProperty()

	直接在对象上定义新属性,或修改对象上的现有属性,然后返回对象。
	
	Obeject.defineProperty(obj, 'prop', {
	value: '1'  //属性值
	enumerable: false,  //是否可枚举,如果为false,则在遍历的时候获取不到改属性
	configurable: false,  //是否可删除,如果为false,则不能删除该属性
	writable: false,   //是否可读写,如果为false,则不能修改该属性
	})
let obj = {
    name: 'kaolin',
    age: 18,
    birthday: '1998-05-20'
  }

  let obj1 = Object.defineProperty(obj, 'sex', {
    value: '男',
    configurable: false,
    enumerable: false,
    writable: false
  })
  console.log(Object.entries(obj1))

在这里插入图片描述
因为设置了enumerable:false,所以sex属性不可以被枚举到

getOwnPropertyNames()

		返回一个数组,其中包含给定对象自己的所有可枚举和不可枚举属性的名称。
	let obj = {
    name: 'kaolin',
    age: 18,
    birthday: '1998-05-20'
  }

  let obj1 = Object.defineProperty(obj, 'sex', {
    value: '男',
    configurable: false,
    enumerable: false,
    writable: false
  })
  console.log(Object.getOwnPropertyNames(obj1))

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值