Ответ 1
Имейте, чтобы предлагать anti-awnser;) хотя хотелось бы видеть большие проекты, используя это также (если они есть). Я люблю Object.create себя и предпочитаю, хотя я никогда не мог использовать его широко в большом проекте и не чувствую, что это должно быть.
-
Разработчики OO пристрастились к "новому" оператору, это жесткая привычка избавиться и легко понять с первого взгляда. Код, написанный классическим способом, теперь проще передать следующему разработчику, который уже является сильным аргументом против Object.create.
-
Object.create в ES5 (следующая версия JS) намного мощнее и сильно отличается от Object.create как прокладка в ES3 (текущая версия JS). По этой причине лучше избегать Object.create(как доступно сейчас) в качестве широко используемой стратегии в больших проектах, поскольку она будет работать по-другому, когда ES5 станет основным, чем реализуется прямо сейчас.
-
Большие проекты используют фреймворки (когда у вас нет мошенников JS "ниндзя", которые настаивают на том, чтобы писать все с нуля, снова изобретая колесо снова и снова), и все популярные структуры продвигают прототипное наследование классическим способом. У них может быть метод Object.create somehwere в виде .clone() или что-то еще, но он скрыт из учебников и документации относительно наследования объектов и подкласса.
-
Частные свойства невозможны с Object.create в ES3. Я наткнулся на большее количество проблем, чем больше я играл с Object.create, и мальчик, с которым я играл с ним...
Я много играл с Object.create и даже написал крошечную фреймворк вокруг него под названием "Возражение" (если вы interrested, вы найдете его;), хотя и воздерживаться от ссылки на github) и "JSoo" ( прекращено). Это слишком суровое, незавершенное и прогрессивное, чтобы стать основным и поддерживаемым с точки зрения людских ресурсов для крупных проектов. Я рекомендую против него, будучи сторонником.