Object.entries的奇怪行为

时间:2018-03-20 13:07:49

标签: javascript google-chrome ecmascript-6

我在使用标准Object.entries方法时遇到了奇怪的行为。该错误仅出现在生产(webpack build)上。

screenshot of my console

描述

  • 我的this.props包含一些带有函数值的字段
  • 标准Chrome Object.entries方法返回一个奇怪的结果:我得到重复的函数名而不是实函数
  • 如果我尝试使用Object.entries复制this.props - 则无法更改
  • 如果我尝试将复制的对象与任何随机字段混合,则Object.entries正常工作(我将实际函数作为结果数组中的值)

我是否误解Object.entries机制?或者它是Chrome错误?我无法在Firefox中重现它。另外我不明白如何在任何地方重现它(除了我的prod页面)...所以我不能在这里放置一个工作的js-sandbox。

如果是Chrome错误,我该怎么办?在任何地方注册问题?进行浏览器选项卡转储?

1 个答案:

答案 0 :(得分:0)

我也收到此错误。我使用了这个Chrome(仅适用于Android)版本来重现该版本:https://chrome.en.uptodown.com/android/download/1714050

当我获得它时,我一直使用此不可变HOC(https://github.com/reduxjs/redux/blob/master/docs/recipes/UsingImmutableJS.md#use-a-higher-order-component-to-convert-your-smart-components-immutablejs-props-to-your-dumb-components-javascript-props)作为'toJS'实用程序,而我只是更改为使用另一种方法,例如使用'Object.keys'和'.map'。 ..

它也可能与您相关:https://github.com/babel/babel-preset-env/issues/370