return []; var L = function () {this.items = []}; L.prototype.push: function (item) { if (!type || item instanceof type) // or typeof return this.items.push(item); }; return L; }; new List(); // Array == [] // С типом var list = new (List(Function))(); // Generic List list.push(1); // Без изменений 26 Обобщенные списки