javascript - Create a class extending from ES6 Map -
trying away custom get/set functionality on es6 maps. using babel transpile code es5.
chrome version 41.0.2272.101 m
class mymap extends map { get(key) { if (!this.has(key)) { throw new error(...); } return super.get(key); } set(key) { if (this.has(key)) { throw new error(...); } return super.set(key); } }
not sure if got syntax wrong or i'm missing implementation of sort. following error:
method map.prototype.foreach called on incompatible reciever
babel explictly states not support extending built-in classes. see http://babeljs.io/docs/usage/caveats/#classes. reasons not quite simple "limitations in es5", however, since map
not es5 feature begin with. appears implementations of map not support basic patterns such as
map.prototype.set.call(mymap, 'key', 1);
which babel generates in case. problem implementations of map including v8 overly restrictive , check this
in map.set.call
call precisely map, rather having map in prototype chain.
same applies promise.
Comments
Post a Comment