(24)es6——es8Object原型新增方法keys,values,entries,getOwnPropertyDescriptor和create

keys

获取对象的所有键名,返回一个数组
const obj = {
	name: '804-3',
	people: ['zhangsan','lisi','wangwu','zhaoliu'],
	age: [18,18,18,18]
}
console.log(Object.keys(obj));

在这里插入图片描述

values

获取对象所有的属性值,返回一个数组
const obj = {
	name: '804-3',
	people: ['zhangsan','lisi','wangwu','zhaoliu'],
	age: [18,18,18,18]
}
console.log(Object.values(obj));

在这里插入图片描述

entries

以二维数组的形式返回对象的属性和属性值
const obj = {
	name: '804-3',
	people: ['zhangsan','lisi','wangwu','zhaoliu'],
	age: [18,18,18,18]
}
console.log(Object.entries(obj));

在这里插入图片描述

getOwnPropertyDescriptor

获取对象属性的描述对象
const obj = {
	name: '804-3',
	people: ['zhangsan','lisi','wangwu','zhaoliu'],
	age: [18,18,18,18]
}
console.log(Object.getOwnPropertyDescriptor(obj,"name"));
// 设置修改obj对象的name属性的数据属性
Object.defineProperty(obj,"name",{
	writable:false,
	value:"dongli",
	enumerable:true,
	configurable:false
})
console.log(Object.getOwnPropertyDescriptor(obj,"name"));

在这里插入图片描述

create

创建一个新对象,使用现有的对象来提供新创建的对象的__proto__
Object.create(proto, [propertiesObject])
proto参数要么是一个原型对象要么为null
propertiesObject 对象的数据属性,不知道什么是对象的数据属性的可以
看我《js专栏的对象的访问器属性和数据属性》博客文章。
const obj = {
	name: '804-3',
	people: ['zhangsan','lisi','wangwu','zhaoliu'],
	age: [18,18,18,18]
}
obj.__proto__.clg = function(){
	console.log("nihao");
}
// 5 创建一个新的对象
const obj2 = Object.create(obj.__proto__,{
	name: {
		value: 'ds',
		// 是否可写,修改
		writable: false,
		// 是否可删除
		configurable: false,
		// 是否可枚举
		enumerable: true
	}
});
console.log(obj2);
obj2.clg();

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LiuJie_Boom

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值