bug
Uncaught TypeError: Cannot read property 'name' of undefined
Uncaught TypeError: e.hasOwnProperty is not a function

infinite loading in component view
![image](https://user-images.githubusercontent.com/8398353/71717720-a37e8e00-2e21-11ea-82a3-cc6d815158fc.png)

Reproduce:
use hook useRouter or HOC withRouter from react-router-dom and select component with hook/hoc in components view react developer tools
Issue is caused by not-bug https://github.com/hapijs/hapi/issues/3280
(query object does not have constructor and does not have hasOwnProperty)

![image](https://user-images.githubusercontent.com/8398353/71717283-4afac100-2e20-11ea-9f86-84f63cb73ab1.png)
![image](https://user-images.githubusercontent.com/8398353/71717412-b6dd2980-2e20-11ea-8514-04708cf02015.png)
![image](https://user-images.githubusercontent.com/8398353/71717397-a75de080-2e20-11ea-9dc3-35da5a4f0ff4.png)

if (displayName === null) {
    return [null, null];
  }
  let hocDisplayNames = null;
  switch (type) {
    case ElementTypeClass:
    case ElementTypeForwardRef:
    case ElementTypeFunction:
    case ElementTypeMemo:
      if (displayName.indexOf('(') >= 0) {
        const matches = displayName.match([^()]+g);
        if (matches != null) {
          displayName = matches.pop();
          hocDisplayNames = matches;
        }
      }
      break;
    default:
      break;
  }
  return [displayName, hocDisplayNames];
}
export function shallowDiffers(prev: Object, next: Object): boolean {
  for (let attribute in prev) {
    if (!(attribute in next)) {
      return true;
    }
  }
  for (let attribute in next) {
    if (prev[attribute] !== next[attribute]) {