message: Fix apache/incubator-echarts#8284 (hash map method override)
diff: @@ -610,6 +610,9 @@ export function isPrimitive(obj) {
  */
  function HashMap(obj) {
  var isArr = isArray(obj);
  + // Key should not be set on this, otherwise
  + // methods get/set/... may be overrided.
  + this.data = {};
  var thisMap = this;
  (obj instanceof HashMap)
  @@ -621,32 +624,30 @@ function HashMap(obj) {
  }
  }
  -// Add prefix to avoid conflict with Object.prototype.
  -
  HashMap.prototype = {
  constructor: HashMap,
  // Do not provide `has` method to avoid defining what is `has`.
  // (We usually treat `null` and `undefined` as the same, different
  // from ES6 Map).
  get: function (key) {
  - return this.hasOwnProperty(key) ? this[key] : null;
  + return this.data.hasOwnProperty(key) ? this.data[key] : null;
  },
  set: function (key, value) {
  // Comparing with invocation chaining, `return value` is more commonly
  // used in this case: `var someVal = map.set('a', genVal());`
  - return (this[key] = value);
  + return (this.data[key] = value);
  },
  // Although util.each can be performed on this hashMap directly, user
  // should not use the exposed keys, who are prefixed.
  each: function (cb, context) {
  context !== void 0 && (cb = bind(cb, context));
  - for (var key in this) {
  - this.hasOwnProperty(key) && cb(this[key], key);
  + for (var key in this.data) {
  + this.data.hasOwnProperty(key) && cb(this.data[key], key);
  }
  },
  // Do not use this method if performance sensitive.
  removeKey: function (key) {
  - delete this[key];
  + delete this.data[key];
  }
  };
  