[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, а това очаквах да бъде тривиален проблем.