ES7 中新增的 Object.keys 函数

阅读时长 3 分钟读完

在 JavaScript 中,Object.keys 是一个非常常用的函数,可以返回一个对象所有可枚举属性的名称。在 ES7 中,Object.keys 函数新增了一些特性,本文将探讨其基础使用方法及特性实现。

基础使用方法

Object.keys 函数的基础使用方法非常简单,只需传入一个对象作为参数,便可以返回该对象所有可枚举属性的名称数组。以下是一个示例代码:

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

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

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

以上代码中,我们首先定义了一个包含 name、age、gender 三个属性的对象 obj,然后调用 Object.keys 函数获取该对象的所有可枚举属性名称,最终输出了一个名称数组。

特性实现

在 ES7 中,Object.keys 函数新增了一些特性,使其更加强大和灵活。下面将逐一介绍它们的实现方法及使用场景。

Trailing commas

在 ES7 中,Object.keys 函数支持末尾逗号,即在最后一个属性名称后面加上逗号也不会报错。以下是一个示例代码:

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

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

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

以上代码中,我们在 obj 对象的最后一个属性名称 gender 后面添加了一个逗号,影响不大,依然可以正确输出属性名称数组。

Object.entries

除了 Object.keys,ES7 还新增了一个 Object.entries 函数,其作用是返回一个给定对象的所有属性的键值对数组。以下是一个示例代码:

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

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

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

以上代码中,我们将 obj 对象传给 Object.entries 函数,得到了一个键值对数组,其中每个元素又是一个数组,第一个元素为属性名称,第二个元素为对应属性的值。

Object.values

Object.keys 可以返回一个对象的所有属性名称数组,Object.entries 可以返回一个对象的所有属性键值对数组,那么 Object.values 就可以返回一个对象的所有属性值的数组。以下是一个示例代码:

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

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

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

以上代码中,我们将 obj 对象传给 Object.values 函数,得到了一个属性值数组,与前面的 Object.keys 和 Object.entries 配合使用,可以更方便地进行对象遍历和操作。

总结

在 ES7 中,Object.keys 函数新增了一些特性,包括末尾逗号支持和 Object.entries、Object.values 函数的加入,大大扩展了其功能和应用场景。合理灵活地应用这些特性和函数,可以让前端开发更加便捷高效。

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

纠错
反馈