var A = function(){ this._field = "test" };
var a = new A();
console.log( a.constructor.toString() );
A.prototype = {}
var b = new A();
console.log( a.constructor.toString() );
я, может быть, потом еще одну статью про паттерны сделаю :) а некоторые реализации в той книжке мне показались не самыми удачными. например тот-же Decorator. если найду мыло автора обязательно спрошу про это — вдруг ответит :)
Обычно в верхнем регистре именуются константы — в таком случае еще часто выношу в prototype, тут подумал что для примера пойдет, сейчас поправлю чтобы понятнее было :)
спасибо огромное :) я даже кажется знаю про что будет следующая статья «для чайников». А еще — поддерживаю предыдущего коментатора — если несложно напишите про использование миксинов в реальном проекте.
ааа понял о чем вы :) если изнутри метода предка обратиться к this.super ожидая увидеть там своего предка то из за расширения контекста нас ждет большой облом. Тут помогает именование ( третий метод, который с __class_name ). сейчас уже нет времени но попробую придумать чтонибудь чтобы super из предка тоже работал как надо.
Возможно я вас неправильно понял, но вот смотрю сейчас под фаербагом
Gentleman->prototype->super = Men.
Programmer->prototype->super = gentelmen->prototype->super = Men.
я вас неправильно понял, или что-то упускаю из вида?
Как раз и есть объект контейнер, а функции добавляются в прототипы использующих примесь объектов.
Или я вас неправильно понял?
Gentleman->prototype->super = Men.
Programmer->prototype->super = gentelmen->prototype->super = Men.
я вас неправильно понял, или что-то упускаю из вида?