Ответ 1
Разница в скорости не очень заметна, поскольку по своей природе вы, вероятно, не будете создавать слишком много объектов (сотни, даже тысячи - это не то, что я называю много), а если вы и скорость - это важная проблема, вероятно, не будет кодировать в JS, и если оба из вышеперечисленных не верны, то я уверен, что в нескольких версиях всех популярных JS-движений разница будет незначительной (в некоторых случаях это уже так).
В ответ на ваш вопрос причины не связаны со скоростью, а потому, что шаблон дизайна Object.create
пользуется старым методом (по причинам, изложенным в этом и других ответах). Они позволяют правильно использовать атрибуты свойств ES5 (которые обеспечивают более масштабируемые объекты и, следовательно, более масштабируемые приложения) и могут помочь с иерархиями наследования.
Это передовая техника. Если бы мы взяли линию "хорошо, она не реализована повсеместно, поэтому не позволяйте нашим ногам мочиться", все будет двигаться очень медленно. Напротив, раннее и амбициозное принятие помогает отрасли продвигаться вперед, помогает лицам, принимающим решения, поддерживать новые технологии, помогает разработчикам совершенствовать и совершенствовать новые идеи и поддерживающие рамки. Я сторонник раннего (но предосторожного и все еще отсталого) принятия, потому что опыт показывает, что ожидание достаточного количества людей для поддержки технологии может оставить вас слишком долго. Май IE6 станет уроком для тех, кто думает иначе.