DDD model of a purchase in NodeJS
Based on functions like getId and toJSON, it seems like you would naturally want to have a base class for your models. As such, it would make sense to write your functions in a way that support prototypical inheritance e.g.

Base Model

function Entity(id) {
  this._id = id;
}

Entity.prototype = {
  function getId() {
    return this._id;
  }
  ...
}

module.exports = Entity;


Derived Model

var Entity = require('./entity');
var util = require('util');

function Purchase(customer, orders, ...) {
  Entity.call(this, PurchaseId.purchaseId());
  this._customer = customer;
  this._orders = orders;
  ...
}

util.inherits(Purchase, Entity);

Purchase.prototype.getCustomer = function() {
  return this._customer;
}
Purchase.prototype.getOrders = function() {
  return this._orders;
}
...
module.exports = Purchase;


Usage

var purchase = new Purchase(...);
console.log(purchase.getId()); // Purchase will inherit everything from Entity
console.log(purchase.getCustomer()); // and have it's own functions too


Note - notice in base we set the prototype directly but in the derived we modify it? This is deliberate because in the base class the prototype is currently empty so it's fine to completely overwrite. If we did the same thing on the derived class then we'd lose the base prototype therefore we simply append to the existing prototype.