If you start to use a DB like mongo, you might be better off creating objects with mongoose but that's personal preference as well. As for your example -

1) Export Person

module.exports = Person;

2) Import Person from another file

const Person = require('../path/to/Person');

3) Create Person with the new keyword to call the constructor (very important)

const mitch = new Person('Mitch');

You should read up on javascript's prototype. Every object has a reference to Object.prototype. Then you can create objects with Object.create(obj) to create objects and assign the new object's prototype as the reference being passed in to Object.create(obj)

Here's an example from MDN

// Shape - superclass

function Shape() {

this.x = 0;

this.y = 0;

}

 

// superclass method

Shape.prototype.move = function(x, y) {

this.x += x;

this.y += y;

console.info('Shape moved.');

};

 

// Rectangle - subclass

function Rectangle() {

Shape.call(this); // call super constructor.

}

 

// subclass extends superclass

Rectangle.prototype = Object.create(Shape.prototype);

Rectangle.prototype.constructor = Rectangle;

 

var rect = new Rectangle();

 

console.log('Is rect an instance of Rectangle?',

rect instanceof Rectangle); // true

console.log('Is rect an instance of Shape?',

rect instanceof Shape); // true

rect.move(1, 1); // Outputs, 'Shape moved.'

 

From: https://stackoverflow.com/questions/47006288/node-js-best-way-to-define-entity-class

posted on 2017-10-30 15:26  今夜太冷  阅读(165)  评论(0编辑  收藏  举报