ES6/ES7/ES8/ES9 中新增的对象方法
在 JavaScript 的发展过程中,ES6/ES7/ES8/ES9 中新增的对象方法为前端开发带来了很多便利。本文将介绍这些新增的对象方法,包括它们的使用方法、示例代码以及学习和指导意义。
ES6 中新增的对象方法
Object.assign()
Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象,并返回目标对象。该方法的语法如下:
Object.assign(target, ...sources)
其中,target 是目标对象,sources 是一个或多个源对象。
示例代码:
const target = { a: 1, b: 2 };
const source = { b: 4, c: 5 };
const result = Object.assign(target, source);
console.log(result); // { a: 1, b: 4, c: 5 }该方法会将 source 对象的属性值复制到 target 对象中。如果 target 对象中已经存在相同的属性,则会覆盖该属性的值。
Object.keys()
Object.keys() 方法返回一个由一个给定对象的自身可枚举属性组成的数组。该方法的语法如下:
Object.keys(obj)
其中,obj 是要返回其枚举属性的对象。
示例代码:
const obj = { a: 1, b: 2, c: 3 };
console.log(Object.keys(obj)); // ["a", "b", "c"]该方法返回一个数组,其中包含 obj 对象中所有可枚举属性的名称。
ES7 中新增的对象方法
Object.values()
Object.values() 方法返回一个给定对象自身可枚举属性的所有值的数组。该方法的语法如下:
Object.values(obj)
其中,obj 是要返回其枚举属性的对象。
示例代码:
const obj = { a: 1, b: 2, c: 3 };
console.log(Object.values(obj)); // [1, 2, 3]该方法返回一个数组,其中包含 obj 对象中所有可枚举属性的值。
Object.entries()
Object.entries() 方法返回一个给定对象自身可枚举属性的键值对数组。该方法的语法如下:
Object.entries(obj)
其中,obj 是要返回其枚举属性的对象。
示例代码:
const obj = { a: 1, b: 2, c: 3 };
console.log(Object.entries(obj)); // [["a", 1], ["b", 2], ["c", 3]]该方法返回一个数组,其中包含 obj 对象中所有可枚举属性的键值对。
ES8 中新增的对象方法
Object.getOwnPropertyDescriptors()
Object.getOwnPropertyDescriptors() 方法返回指定对象所有自身属性(非继承属性)的描述对象。该方法的语法如下:
Object.getOwnPropertyDescriptors(obj)
其中,obj 是要返回其属性描述对象的对象。
示例代码:
const obj = { a: 1, b: 2 };
console.log(Object.getOwnPropertyDescriptors(obj)); // { a: { value: 1, writable: true, enumerable: true, configurable: true }, b: { value: 2, writable: true, enumerable: true, configurable: true } }该方法返回一个对象,其中包含 obj 对象中所有自身属性的描述对象。
ES9 中新增的对象方法
Object.fromEntries()
Object.fromEntries() 方法将一个键值对数组转换为一个对象。该方法的语法如下:
Object.fromEntries(iterable)
其中,iterable 是一个可迭代对象,其元素为键值对数组。
示例代码:
const arr = [["a", 1], ["b", 2], ["c", 3]];
console.log(Object.fromEntries(arr)); // { a: 1, b: 2, c: 3 }该方法返回一个对象,其中包含键值对数组中的所有键值对。
学习和指导意义
ES6/ES7/ES8/ES9 中新增的对象方法为前端开发带来了很多便利。通过学习这些方法,我们可以更加方便地操作对象,提高代码的可读性和可维护性。
例如,使用 Object.assign() 方法可以更加方便地合并对象,使用 Object.keys() 方法可以更加方便地获取对象的属性名称,使用 Object.values() 方法和 Object.entries() 方法可以更加方便地获取对象的属性值和键值对数组。
因此,在日常的前端开发工作中,我们应该充分利用这些新增的对象方法,提高代码的效率和质量。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67d0eae3a941bf71341f5add