Вы можете добавить любой атрибут в класс и экспортировать этот класс. Все вещества будут иметь этот атрибут.
Определить класс Foo .
class Foo {
constructor() {
}
// define attribute inside
a() {
console.log('a');
}
}
// adding attribute outside
Foo.prototype.c = () => {
console.log('c');
}
module.exports = Foo;
И добавить еще один атрибут в другой файл.
const Foo = require('./foo');
// define attribute in other file
Foo.prototype.b = () => {
console.log('b');
}
module.exports = Foo;
И использование:
const Bar = require('./bar');
let foo = new Bar();
foo.a();
foo.b();
foo.c();
Или вы можете определить новый класс Bar , который расширяет Foo и добавить к нему любой атрибут:
const Foo = require('./foo');
class Bar extends Foo {
constructor() {
super()
}
b() {
console.log('b');
}
}
module.exports = Bar;
И используйте его снова как:
const Bar = require('./bar');
let foo = new Bar();
foo.a();
foo.b();
foo.c();
Класс Bar
имеет все атрибуты Foo
и определяет новые атрибуты.