前端 js 经典:Object 常用原生方法

 1. Object 属性描述符

属性描述符分为:数据描述符、存取描述符

let obj = {
  name: "yqcoder",
};
// 单个属性
Object.defineProperty(obj, "name", {
  // 数据描述符
  // 属性值,默认 undefined
  value: "yq",
  // 可写,默认 false,true 时可修改
  writable: true,
  // 可删除,默认 false,true 时可删除
  configurable: true,
  // 可枚举,默认 false,true 时可枚举
  enumerable: true,

  // 存取描述符
  // 截获name的值
  get() {
    return this.value;
  },
  // 设置name的值
  set(value) {
    this.value = value;
  },
});
// 多个属性
Object.defineProperties(obj, {
  name: {
    value: "yqcoder",
    writable: true,
    configurable: true,
    enumerable: true,
  },
});

// 获取属性描述符
Object.getOwnPropertyDescriptor(obj, "name"); // {value: 'yqcoder', writable: true, enumerable: true, configurable: true}

 2. Object.assign

合并两个对象,更改原对象

let obj = {
  name: "yqcoder",
};
let _obj = {
  age: 18,
};
Object.assign({}, obj, _obj); // {name: 'yqcoder', age: 18}

3. Object.create

创建一个新对象

let obj = Object.create(null, {
  name: {
    value: "yqcoder",
    enumerable: true,
  },
  age: {
    value: 18,
    enumerable: true,
  },
});
obj; // {name: 'yqcoder', age: 18}
 4. Object.keys

遍历对象,返回由 key 组成的数组

let obj = {
  name: "yqcoder",
  age: 18,
};
Object.keys(obj); // ['name', 'age']

5. obj 对象方法

let obj = {
  name: 'yqcoder',
  age: 18
}
// delete obj.key 删除对象属性
delete obj.name; // {age: 18}
// hasOwnProperty 判断对象是否有属性
obj.hasOwnProperty("age"); // true

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

yqcoder

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

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

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

打赏作者

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

抵扣说明:

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

余额充值