[Advanced Javascript] Как да намерим на чии клас принадлежи инстанция, когато класа е заключен в IIFE
Здравейте колеги,
Имам следния проблем - когато напиша клас по псевдокласическия модел в global scope мога да използвам коректно constructor.name. Когато обаче заключа класа в IIFE constructor.name ми дава резултат винаги object:
var taskList = taskList||{};
(function(taskList){
function Container(heading, width,heigth,startPoint,arrayOfChildren) {
this._heading = heading;
this._width = width;
this._heigth = heigth;
this._startPoint = startPoint;
this._arrayOfChildren = arrayOfChildren;
this._constructor=this.constructor.toString();
if (typeof this._arrayOfChildren === 'undefined') {
this._arrayOfChildren = [];
}
}
Container.prototype={
toString: function() {
return this._heading + " " + this._width+" "+ this._heigth+" "+this._startPoint+" "+this._arrayOfChildren;
}
}
taskList.Container=Container;
}(taskList));
Т.е. в примера по - горе получавам винаги object, вместо очакваното Container. Instanceof също не работи, когато класа е в IIFE. Някой знае ли как да реша проблема? Моля за помощ тъй като си блъскам главата от известно време и не мога да се оправя. Странно, но не намирам инфо и в stackoverflow, а това очаквах да бъде тривиален проблем.