Package Exports
- blank-object
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (blank-object) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
blank-object
Object.create(null) turns out to be quite slow to alloc in v8, but instead if
we inherit from an ancestory with proto = create(null)
we have nearly
the same functionallity but with dramatically faster alloc.
var BlankObject = require('blank-object');
var bo = new BlankObject();
This is designed for a presence check map[key] !== undefined
since in
is also slow like hasOwnProperty
, delete
and Object.create
.
function UNDEFINED() {}
export default class Map {
constructor() {
this.store = new BlankObject();
}
has(key) {
return this.store[key] !== undefined;
}
get(key) {
let val = this.store[key];
return val === UNDEFINED ? undefined : val;
}
set(key, val) {
this.store[key] = val === undefined ? UNDEFINED : val;
}
}