object-js

Object oriented JS library for ES6

Usage no npm install needed!

<script type="module">
  import objectJs from 'https://cdn.skypack.dev/object-js';
</script>

README

object-js

Low level Object design for ES6

Benefits

  • easy hashCode and equals hooks for determining equality between two instances

Build Status

npm version
Build Status
NPM

Install

npm install --save object-js

Usage

import js, { Obj } from 'object-js';

class Thing extends Obj {

  constructor(prop) {
    this.prop = prop;
  }
  
  equals(value) {
    return js.doesExtend(value, Thing) && value.prop === this.prop; 
  }

  hashCode() {
    if (!this._hashCode) {
      this._hashCode = js.hash(this.prop);
    }
    return this._hashCode;
  }
}


const thing1 = new Thing('abc');
const thing2 = new Thing('abc');
const thing3 = new Thing('bcd');

js.equals(thing1, thing2)   // true
js.equals(thing2, thing3)   // false