There are many cases involving nested data structures where the ability to
define a default value in Maps would be helpful.

Straw Man:

var map = new Map(=> [])
var arr = map.get('foo')
arr === map.get('foo') // true

This enables:

map.get('foo').push(obj)

Which would be (*very*) approximately equivalent to:

class MapWithDefault extends Map {
  constructor(default) {
    this.defaultValue = default;
    super();
  }

  get(key) {
    if (!this.contains('foo')) {
      let value = this.defaultValue(key);
      map.set(key, value);
    }

    return super(key);
  }
}

-- 
Yehuda Katz
(ph) 718.877.1325
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to