ES8 中的 Object.values() 和 Object.entries() 方法详解

阅读时长 3 分钟读完

随着 JavaScript 的发展,越来越多的语法和 API 被加入到了该语言中。ES8 是最近一个正式发布的 ECMAScript 规范版本,它引入了 Object.values() 和 Object.entries() 方法,这两个方法可以帮助开发者更方便地操作对象。

Object.values() 方法

Object.values() 方法返回一个给定对象自身的所有可枚举属性值的数组。这个数组的顺序和 for...in 循环迭代的顺序一致,也就是说它的结果和 Object.keys() 方法的结果是一样的,只不过 Object.keys() 方法返回的是一个包含对象属性名的数组。以下是 Object.values() 方法的语法:

其中 obj 表示要返回属性值的对象。

下面是一个示例:

-- -------------------- ---- -------
--- --- - -
    ------ ------
    ------- ------
    ------ -----
--

--- ------ - -------------------

-------------------- -- ------- ------ ------
展开代码

Object.entries() 方法

Object.entries() 方法返回一个给定对象自身的所有可枚举属性的键值对数组。这个数组的每个元素都是由键名和键值组成的数组,数组中的顺序和 for...in 循环迭代的顺序一致。以下是 Object.entries() 方法的语法:

其中 obj 表示要返回属性键值对的对象。

下面是一个示例:

-- -------------------- ---- -------
--- --- - -
    ------ ------
    ------- ------
    ------ -----
--

--- ------- - --------------------

--------------------- -- ---------- ------- ---------- ------- --------- -------
展开代码

需要注意的是,Object.entries() 方法会忽略该对象的 Symbol 属性,如果需要同时获取 Symbol 属性可以使用 Object.getOwnPropertyNames() 与 Object.getOwnPropertySymbols() 方法结合使用。

特别注意事项

只要一个属性是可以枚举的,这两个方法都会将这个属性的值或键值对加入返回的数组,包括继承的属性。

如果传入 null 或 undefined 参数,这两个方法会抛出 TypeError 错误。

指导意义

Object.values() 和 Object.entries() 方法提供了一种更方便的方法来操作对象。通常情况下,我们需要遍历对象并将其属性值或键值对分别添加到数组中,这两个方法为这类操作提供了更简洁明了的方式。

在实际开发中,这两个方法也有很多用处。比如,在 React 中,我们需要对一些对象进行操作时使用它们可以大大缩短我们的代码量,提高开发效率。

结论

Object.values() 方法和 Object.entries() 方法是 ES8 中新增的两个方法,它们可以方便地获取一个对象的属性值或键值对数组,减少开发者的工作量。在实际开发中,它们也有很多用处,可以提高开发效率。因此,在掌握这两个方法的使用方法后,可以在实际开发中尝试使用它们。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/674add7eda05147dd026e5ff

纠错
反馈

纠错反馈