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

简介: 前端 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


目录
相关文章
|
7月前
|
JavaScript 前端开发 API
|
6月前
|
JSON 前端开发 JavaScript
前端工具方法整理
前端工具方法整理
160 8
|
7月前
|
前端开发 JavaScript 数据可视化
58K star!这个让网页动起来的JS库,前端工程师直呼真香!
Anime.js 是一款轻量级但功能强大的JavaScript动画引擎,它能够以最简单的方式为网页元素添加令人惊艳的动效。这个项目在GitHub上已经获得58,000+星标,被广泛应用于电商页面、数据可视化、游戏开发等场景。
285 8
|
7月前
|
JavaScript 前端开发 容器
|
7月前
|
JavaScript 前端开发
|
7月前
|
存储 JavaScript 前端开发
|
7月前
|
移动开发 JavaScript 前端开发
|
7月前
|
存储 JavaScript 前端开发
|
7月前
|
JavaScript 前端开发
|
7月前
|
JavaScript 前端开发

热门文章

最新文章