ES9 标准(也称为 ECMAScript 2018)是 JavaScript 语言的最新版本,在 ES9 中引入了一些新的对象方法,同时也对已有的方法进行了升级和扩展。这些新的方法为我们提供了更加便捷、高效的编程方式,但在一些情况下,Lodash 也提供了类似的功能。本文将介绍 ES9 标准的对象方法与 Lodash 的对比使用,并给出详细的示例代码。
Object.values 和 _.values
Object.values
是 ES9 标准中新引入的方法,它返回一个给定对象自身可枚举属性的属性值数组。比如:
----- --- - - ---- ------ ---- -- -- -------------------------------- -- ------- ---
类似的,Lodash 中也提供了 _.values
方法,实现了相同的功能:
----- --- - - ---- ------ ---- -- -- --------------------------- -- ------- ---
ES9 标准中的 Object.values
更加简单明了,并且不需要额外引入库,推荐使用。
Object.entries 和 _.toPairs
Object.entries
是 ES9 标准中新引入的方法,它返回一个给定对象自身可枚举属性的键值对数组。比如:
----- --- - - ---- ------ ---- -- -- --------------------------------- -- -------- ------- ------- ----
类似的,Lodash 中提供了 _.toPairs
方法,实现了相同的功能:
----- --- - - ---- ------ ---- -- -- ---------------------------- -- -------- ------- ------- ----
ES9 标准中的 Object.entries
更加简单明了,并且不需要引入额外的库,推荐使用。
Object.getOwnPropertyDescriptors 和 _.cloneDeep
Object.getOwnPropertyDescriptors
是 ES9 标准中新引入的方法,它返回一个给定对象自身属性的描述对象。这个方法可以用于实现对象的深拷贝,示例如下:
----- --- - - ---- ------ ---- - ---- -- - -- ----- -------- - --------------------------- --------------------------------------- -------------------- --- ----- -- ----- ------------------------ --- --------- -- ---- ------------------------ --- --------- -- -----
需要注意的是,在上面的示例中,我们使用了 Object.defineProperties
方法来实现对象的深拷贝。这是因为 Object.assign
方法和扩展运算符 ...
只能实现浅拷贝。
Lodash 中的 _.cloneDeep
方法也可以用于实现对象的深拷贝:
----- --- - - ---- ------ ---- - ---- -- - -- ----- -------- - ----------------- -------------------- --- ----- -- ----- ------------------------ --- --------- -- ---- ------------------------ --- --------- -- -----
由于深拷贝是一个较为常用的操作,Lodash 的 _.cloneDeep
方法更受欢迎一些。
Object.fromEntries 和 _.fromPairs
Object.fromEntries
是 ES9 标准中新引入的方法,它以键值对数组为参数,返回一个新的对象。比如:
----- ------- - -------- ------- ------- ----- ----------------------------------------- -- - ---- ------ ---- -- -
类似的,Lodash 中提供了 _.fromPairs
方法,实现了相同的功能:
----- ------- - -------- ------- ------- ----- ---------------------------------- -- - ---- ------ ---- -- -
ES9 标准中的 Object.fromEntries
更加简单明了,并且不需要引入额外的库,推荐使用。
总结
ES9 标准中引入的新对象方法提供了一些便捷、高效的编程方式。虽然 Lodash 已经提供了类似的功能,但在实际开发中,我们应该优先考虑使用 ES9 标准中的方法,避免引入额外的库。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6478175f968c7c53b045cace