如何正确使用 ECMAScript 2017 中引入的 Object.values() 方法

阅读时长 3 分钟读完

简介

ECMAScript 2017 引入了 Object.values() 方法,可以获取一个对象所有可枚举属性的值,返回值是一个数组,且值的顺序与对象中属性的顺序一致。

Object.values() 的语法如下:

其中,obj 表示要获取属性值的对象。

用法

Object.values() 方法的用法很简单,我们只需要将要获取属性值的对象作为参数传递给该方法即可。该方法的返回值是一个数组,数组中包含了对象中所有可枚举属性的值。

示例如下:

注意事项

  1. Object.values() 方法只会获取对象中可枚举的属性值,并且是按照属性定义的顺序返回的,对于不可枚举的属性值不会进行返回。

  2. 如果传递给 Object.values() 方法的参数不是一个对象,该方法会抛出 TypeError 异常。

  3. Object.values() 方法是 ES2017 中新增的,不兼容所有浏览器,尤其是一些较老的浏览器。我们可以使用 babel-polyfill 将其转换成 ES5 语法,以保证兼容性。

案例分析

下面我们看一个案例分析,这个案例是一个简单的计算器,其中存储了一个运算符对象和两个数字:

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

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

我们使用 Object.values() 方法获取 operator 对象中所有的方法值,这样我们就可以根据用户选择的运算符,执行相应的计算了。

示例如下:

这里我们使用 Object.values() 方法将 operator 对象中所有的方法值抽取出来,然后使用 includes() 方法判断用户选择的运算符是否存在于 operator 中。如果存在,就执行相应的计算,否则输出错误信息。

总结

Object.values() 方法是 ECMAScript 2017 中新增的方法,它可以方便地获取对象中的所有可枚举属性的值。在实际项目中,我们可以使用该方法对对象进行操作,使代码更加简洁优雅,提高工作效率。同时,我们还需要注意兼容性和错误处理等问题,保证代码的稳定性和可靠性。

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

纠错
反馈