Какой подход более удобен в реальном проекте?Может кто-нибудь, пожалуйста, просветите меня?И расскажите разницу между всеми из них (эффективность / чистый код и т. Д.)
Все они дают одинаковый результат.Классы ES6.
2-й подход Шаблон конструктора в сочетании с шаблоном раскрытия модуля.
3-й - это только шаблон / функция конструктора, а свойства используются в обычном объявлении функции.
Я хочу создать приложение, в которое я вставляю некоторые данные из формы ввода, создавая их с помощью классов / конструкторов, а затем отображаю их в пользовательском интерфейсе.Очевидно, что данные постоянно меняются (создание нескольких объектов при вставке новой формы ввода)
// 1st approach with classes
const test1 = (() => {
class TestClass {
constructor() {
this.string = 'Class';
}
classMethod() {
console.log(this.string);
}
}
const testClass = new TestClass();
return {
testClass
}
})();
test1.testClass.classMethod();
// 2nd approach with constructor and constructor protoype methods
const test2 = (() => {
function TestConstructor() {
this.string = 'Constructor';
}
TestConstructor.prototype = {
constructorMethod() {
console.log(this.string);
}
}
const testConstr = new TestConstructor();
return {
testConstr
}
})();
test2.testConstr.constructorMethod();
// 3rd approach with constructor with function declaration
const test3 = (() => {
function TestConstructor() {
this.string = 'Constructor with function declaration';
}
const testConstr = new TestConstructor();
function normal() {
console.log(testConstr.string);
}
return {
normal
}
})();
test3.normal();