blank-object

A faster alternative to Object.create(null)

MIT 3 个版本
安装
npm install blank-object
yarn add blank-object
pnpm add blank-object
bun add blank-object
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;
  }
}
版本列表
1.0.2 2016-08-06
1.0.1 2015-09-04
1.0.0 2015-09-04