ES7 是 ECMAScript(JavaScript)的一个版本,它始于2016年,包含了一些新的特性和功能。其中 Object.values/Object.entries/Array.prototype.includes 方法是其中的三个新方法,它们在前端开发中十分实用。本文将详细解释这三个方法,并提供相应的学习和指导意义。
Object.values 方法
Object.values 方法是一个新的 Object 方法,它返回传递对象自身可枚举属性值的数组,数组的顺序与使用 for...in 循环遍历该对象时返回的顺序相同。具体的,它的定义如下:
Object.values(obj)
其中 obj 是要返回值数组的对象。
这个方法可以用来很方便地得到对象的属性值列表。下面是一些实例:
const obj = { foo: 'bar', baz: 42 }; console.log(Object.values(obj)); // ['bar', 42] const obj2 = { 100: 'a', 2: 'b', 7: 'c' }; console.log(Object.values(obj2)); // ['b', 'c', 'a']
这里需要注意的是,Object.values 方法只能在支持 ECMAScript 2017 或以上版本的浏览器中使用。
Object.entries 方法
Object.entries 方法是一个新的 Object 方法,它返回一个形如 [key, value] 的数组,即对象的键值对数组。它的定义如下:
Object.entries(obj)
其中 obj 是要返回键值对数组的对象。
这个方法可以很方便地得到对象的所有键值对。下面是一些实例:
const obj = { foo: 'bar', baz: 42 }; console.log(Object.entries(obj)); // [['foo', 'bar'], ['baz', 42]] const obj2 = { 100: 'a', 2: 'b', 7: 'c' }; console.log(Object.entries(obj2)); // [['2', 'b'], ['7', 'c'], ['100', 'a']]
这里需要注意的是,Object.entries 方法仅仅在支持 ECMAScript 2017 或以上版本的浏览器中使用。
Array.prototype.includes 方法
Array.prototype.includes 方法是一个新的 Array 方法,它判断一个数组中是否包含某个特定的值,并返回 true 或 false。它的定义如下:
array.includes(value)
其中 array 是要判断的数组,value 是要判断是否存在的值。
这个方法可以用来判断一个数组中是否包含某个值。下面是一些实例:
const arr = [1, 2, 3]; console.log(arr.includes(2)); // true const arr2 = ['foo', 'bar', 'baz']; console.log(arr2.includes('qux')); // false
这里需要注意的是,Array.prototype.includes 方法只能在支持 ECMAScript 2016 或以上版本的浏览器中使用。
总结
ES7 的三个新方法,Object.values/Object.entries/Array.prototype.includes,为开发者提供了更为高效快捷的编码方式,能够帮助我们更加灵活方便地操作对象与数组,提高编程效率。随着 JavaScript 的发展,我们相信会有更多更加实用的新特性出现,让我们能够更加快速地构建更好的网络应用。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64cb18835ad90b6d041ec49d