Попытался переделать ES5 под стандарт ES6, то что-то пошло не так, а где ошибка понять не могу.
Может быть кто разбирается в данном стандарте и построении классов в частности
Исходник "класса" на ES5:
function Popup(options){
this.modal = $("options.modal");
this.overlay = $("options.overlay");
var self = this;
this.open = function(content){
self.modal.html(content);
self.modal.addClass("open");
self.overlay.addClass("open");
}
this.close = function(){
self.modal.removeClass("open");
self.overlay.removeClass("open");
}
this.overlay.on("click", this.close);
}
var p = new Popup({
modal: ".modal",
overlay: ".overlay"
});
$(".write").on("click", function(){
p.open("TEXT");
})
Моя неудачная попытка переделать класс на ES6:
class Popup{
constructor(options){
this.modal = $(options.modal);
this.overlay = $(options.overlay);
var self = this;
this.overlay.on("click", this.close);
}
open(content){
self.modal.html(content);
self.modal.addClass("open");
self.overlay.addClass("open");
}
close(){
self.modal.removeClass("open");
self.overlay.removeClass("open");
}
}
var p = new Popup({
modal: ".modal",
overlay: ".overlay"
});
$(".write").on("click", function(){
p.open("TEXT");
})