Посмотри на код, и напиши, знаешь ли ты чётко, в чём различие между вариантами(если они заведомо делают одиннаковую логику)
let obj = function () {
return {
init: function (params) {
this.class = params.class;
this.doBtn();
},
doBtn: () => {
$('button#btn1').on('click', () => {
console.log(this.class);
});
},
};
}();
class obj2 {
constructor(params) {
this.params = params;
this.doBtn();
}
doBtn() {
$('button#btn2').on('click', () => {
console.log(this.params.class);
});
}
}