"мы" нет. Object.create
- это способ создания объектов с очень низким уровнем доступа к объекту в современных браузерах (те, которые используют эту часть ES5 для спецификации).
var bob = Object.create(Person.prototype, { name : {
writeable : false,
configurable : false,
value : "Bob" }});
bob
наследует от Person
.
bob.name
сейчас равно «Боб».
bob.name
не может быть переписан.
bob.name
не может быть изменен на другой тип данных (number/boolean/NaN/null/etc).
bob.name
не может быть удален, кроме, пожалуй, путем избавления от bob
, полностью.
Это будет работать только в современных браузерах.
Полифония только имеет часть наследования, поскольку старые версии JavaScript не разрешали доступ к перечислимым объектам, независимо от того, являются ли они пригодными для записи или специфичны для конкретных типов и т. Д.
Таким образом, они не могут быть polyfilled в.
НИКТО потребностиObject.create
. Никто, кто не выполняет системную архитектуру (будь то AJAX-библиотеки или новая банковская система на основе NodeJS или облачная ОС или что-то еще). Даже тогда это полезно только в том случае, если вы можете гарантировать, что браузер использует современную версию JS.
Кто бы сказал, «нам нужны функции создания и построения», а кто «мы»? – DanMan