Object内置对象的常用方法

文章介绍了JavaScript中与Object相关的操作,包括获取和设置原型、属性检查与操作、对象遍历以及常用的工具方法,如defineProperty用于定义或修改对象属性,Object.keys、values和entries用于获取对象属性名、值和键值对等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一,原型相关

  • Object.getPropertyOf(obj) - 获取对象obj的原型对象
  • Object.setPrototypeOf(obj, prototype) - 为obj对象设置原型prototype
  • obj2.isPrototypeOf(obj1) - 判断对象obj1是否在obj2的原型链上(obj2是否为obj1的原型)

二,属性操作相关

  • hasOwnProperty(key) - 判断对象是否有key属性,返回true或false
  • propertyIsEnumerable(key) - 判断对象的属性key是否可枚举(for...in可以遍历到)
  • getOwnPropertyNames(obj) - 获取对象obj的所有属性名key的列表,返回数组
  • defineProperty(obj, attrName, description) - 设置或修改对象obj的属性,并返回该对象。description参数为当前属性的描述符包含值value

                                                                           是否能被赋值writable(默认false)

                                                                           是否可枚举enumerable(默认false)

                                                                           描述符是否能改变configurable(默认false)

var p1 = {name: '张三'};
Object.defineProperty(p1, 'age', {
    value: 18,
    writable: true,
    enumerable: true
});
console.log(p1);    // {name: '张三', age: 18}
  • defineProperties(obj, attrDescriptions) - 定义对象的多个属性,用法同defineProperty
  • getOwnPropertyDescriptor(obj, 'property1') - 获取对象obj的指定属性的属性描述符

三,遍历相关

  • Object.keys(obj) - 查询对象obj的所有属性名称列表,并返回
  • Object.values(obj) - 查询对象obj的所有属性值列表,并返回
  • Object.entries(obj) - 查询对象obj的所有键值对的列表,并返回(二维数组
var obj = {
    name: '张三',
    age: 18
};
console.log(Object.entries(obj));    // [['name', '张三'], ['age', 18]]

四,常用工具方法

  • Object.assign(target, ...sources) - 将一个或多个对象的属性复制到另一个目标对象中
  • Object.is(val1, val2) - 比较两个任意类型的值是否恒等于(与 === 一致)
  • toString() - 将对象转换成字符串
  • toLocalString() - 返回对象的本地化字符串,为Date和Number对本地化做了定制,可以将日期、数字做本地化转换(对象调用此方法和toString()效果是一样的)
  • 了解valueOf() - 将一个对象值转换为原始值(通常js自己调用,不需要手动调用)
const obj = { name: '张三' };
console.log(obj.valueOf() === obj); // true

其他详细方法,可查看API

MDNhttps://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

妍思码匠

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

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

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

打赏作者

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

抵扣说明:

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

余额充值